我需要 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 = {};
};
}
]);
答案 0 :(得分:2)
您没有告诉您的资源从哪里获取: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'})