У меня есть Контроллер учетной записи в AngularJS для учетной записи, и на этой странице отображаются записи, относящиеся к этой учетной записи.404 Не найдена ошибка на ngResource delete в AngularJS & Rails
URL-адрес страницы на основе Acccount:
http://localhost:3000/#/accounts/16
В моем контроллере счета я получить записи:
Account = $resource('/accounts/:accountId', {
accountId: "@id",
format: 'json'
}, {
'save': {
method: 'PUT'
},
'create': {
method: 'POST'
}
});
var Record = $resource('/records/:recordId', {
recordId:'@id',
format: 'json'
}, {
'save': {
method: 'PUT'
},
'create': {
method: 'POST'
},
'delete': {
method: 'DELETE'
}
});
if ($routeParams.accountId) {
Account.get({
accountId: $routeParams.accountId
}, (function(account) {
return $scope.account = account;
}), (function(httpResponse) {
$scope.account = null;
return flash.error = "There is no account with ID " + $routeParams.accountId;
}));
Record.query({
account_id: account_id
}, function(results) {
return $scope.records = results;
});
} else {
$scope.account = {};
$scope.records = [];
}
Они отображаются на странице учетных записей:
<tbody>
<tr ng-repeat="record in records">
<td>{{record.name}}</td>
<td>{{record.description}}</td>
<td>
<button type="submit" ng-click="deleteRecord(record)">Delete</button>
</td>
</tr>
</tbody>
Метод удаления:
$scope.deleteRecord = function(record) {
record.$delete(function() {
return flash.success = "Record deleted successfully.";
});
var records = $scope.records;
for (var recordKey in records) {
if (records[recordKey]._id == record._id) {
$scope.records.splice(recordKey, 1);
}
}
return;
};
Моя проблема при попытке удалить запись, я получаю следующее сообщение об ошибке:
DELETE http://localhost:3000/records/2 [HTTP/1.1 404 Not Found 69ms]
Следующий вывод отображаются в терминале, когда рельсы сервер:
Started DELETE "/records/2?format=json" for 127.0.0.1 at 2015-06-15 21:18:04 -0400
Processing by RecordsController#destroy as JSON
Parameters: {"id"=>"2"}
Record Load (4.5ms) SELECT "records".* FROM "records" WHERE "records"."id" = $1 LIMIT 1 [["id", 2]]
Rendered text template (0.0ms)
Completed 404 Not Found in 12ms (Views: 4.7ms | ActiveRecord: 4.5ms)
Как я могу удалить записи, если я не на текущей странице для этой модели?
Удаление элементов таким образом работает, когда я удаляю конкретную модель страницы, на которой я состою (т. Е. Удаление учетной записи со страницы учетных записей).
Мои действия контроллера для справки:
def destroy
record = Record.find(params[:id])
record.destroy!
head :no_content
end
Любая помощь приветствуется.
Спасибо!
Спасибо за ответ. К сожалению, отладка не дает мне много других подсказок. В то время как я могу перешагнуть над операторами, запись не удаляется из базы данных, и консольная ошибка остается. Удаление 'format = json' нарушает запросы, поэтому может быть что-то, что мне нужно в моей конкретной настройке. Любые другие мысли о том, что это может быть? – viatori