Javascript 为什么我的函数没有引用正确的路由?

Javascript 为什么我的函数没有引用正确的路由?,javascript,angularjs,Javascript,Angularjs,我的函数是使用update方法来更新对象的值。问题是它指的是用户/:user\u id/任务,而我需要用户/:user\u id/任务/:id。为什么会这样?我该如何解决它 var app = angular.module('Todolist', ['ngResource']); app.factory('Task', [ '$resource', function($resource) { return $resource('/users/:user_id/tasks

我的函数是使用update方法来更新对象的值。问题是它指的是用户/:user\u id/任务,而我需要用户/:user\u id/任务/:id。为什么会这样?我该如何解决它

var app = angular.module('Todolist', ['ngResource']);

  app.factory('Task', [
    '$resource', function($resource) {
      return $resource('/users/:user_id/tasks/:id', {user_id: '@user_id'}, {update: {method: 'PUT'}});
     }
   ]);

  app.controller('TasksCtrl', [
    '$scope', 'Task', function($scope, Task) {

      $scope.user = gon.current_user

      $scope.updateTitle = function(data, task) {
        Task.update({
          user_id: $scope.user.id,
          id: task.id,
          title: data
        });
      };
 }
]);
定义$resource时,您没有设置id参数值

使用


用{user_id:'@user_id',id:'@id'}@Satpal尝试一次就行了。创建一个aswer;非常感谢。
return $resource('/users/:user_id/tasks/:id', {
    user_id: '@user_id',
    id: '@id'
}, {
    update: {
        method: 'PUT'
    }
});