Javascript .delete()呈现错误路径

Javascript .delete()呈现错误路径,javascript,angularjs,Javascript,Angularjs,我试图为我的对象实现delete方法,但遇到了一些麻烦 例如,我的函数引用了一个错误的URL/users/1/tasks?id=1,但我希望它引用的是/users/1/tasks/1。如何解决这个问题 var app = angular.module('Todolist', ['ngResource']); app.factory('Task', [ '$resource', function($resource) { return $resource('/users/

我试图为我的对象实现delete方法,但遇到了一些麻烦

例如,我的函数引用了一个错误的URL
/users/1/tasks?id=1
,但我希望它引用的是
/users/1/tasks/1
。如何解决这个问题

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

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

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

      $scope.user = current_user

       $scope.deleteTask = function(task){
       alert(task.id);
       if (confirm('Are you sure')) {
         var index = $scope.tasks.indexOf(task);
         Task.delete({ user_id: $scope.user.id, id: task.id },
         function(success){
           $scope.tasks.splice(index, 1);
         });
        }
       };

   }
  ]);

您应该执行类似于
/users/:user\u id/tasks/:task\u id
的路径来获取正确的URL
/users/1/tasks/1
。否则,在它的当前形式中,它将读取
/tasks/
之后的部分作为查询参数,这就是当前正在发生的情况。

更改/users/:user\u id/tasks/to/users/:user\u id/tasks/:id@maddygoround这很有帮助,谢谢。@maddygoround,我只是想知道,为什么我们必须指定
{id:'@id'}
在资源路由之后?您不必提供{user\u id:'@user\u id,id:'@id'},您已经在delete调用中这样做了