2015-08-28 59 views
2

我的函数使用update()方法来更新对象的值。问题在于它指的是users/:user_id/tasks,我需要users/:user_id/tasks/:id。为什么这样,我该如何解决它? '@user_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 
     }); 
     }; 
} 
]); 

enter image description here

+0

与尝试一次'{USER_ID您没有设置id参数值“ @id'}' – Satpal

+1

@Satpal它解决了。创建一个aswer;)谢谢。 –

回答

4

定义时$resource

使用

return $resource('/users/:user_id/tasks/:id', { 
    user_id: '@user_id', 
    id: '@id' 
}, { 
    update: { 
     method: 'PUT' 
    } 
}); 
相关问题