我需要我的 Task.save 转到 /users/:user_id/tasks
但它似乎引用了错误的路径,我收到错误:
No route matches [POST] "/users/tasks"
如何解决这个问题?提前致谢。
js
var app = angular.module('Todolist', ['ngResource', 'xeditable']);
app.factory('Task', [
'$resource', function($resource) {
return $resource('users/:user_id/tasks/');
}
]);
app.controller('TasksCtrl', [
'$scope', 'Task', function($scope, Task) {
$scope.addNewTask = function() {
var task = Task.save($scope.newTask);
$scope.tasks.push(task);
$scope.newTask = {};
};
}
]);
最佳答案
您没有告诉您的资源从哪里获取 :user_id 路径参数。
您可以在调用save
时提供它
Task.save({user_id: 'some value'}, $scope.newTask)
或者,如果该属性是 $scope.newTask
的一部分,例如 $scope.newTask = {id: 'some id'}
,请在资源中声明它定义
return $resource('users/:user_id/tasks', {user_id: '@id'})
关于javascript - CRUD的save方法引用了错误的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196306/