$resource PUT 操作不提取 id
$resource PUT operation not extracting id
我似乎无法从控制器获得一个 "id" 到 $resource
函数。这是有问题的代码...
控制器:
$scope.update_user_extra = function () {
UserExtraResource.update($scope.user_extra_details, function (data) {
$scope.user_extra_details = data;
$scope.user_extra_details = {mobile:data.mobile,
landline:data.landline,
position:data.position,
notes:data.notes,
language:data.language};
});
};
资源:
module.exports = function ($resource) {
return $resource('/api/user_extra/:id/', { id: '@_id' }, {
details: {method: 'GET', url: '/api/user_extra/details'},
update: {method: 'PUT'}
});
};
GET 工作正常,但自定义 PUT returns:
http://127.0.0.1:8000/api/user_extra/ 404 (Not Found)
像这样对 id 进行硬编码:
return $resource('/api/user_extra/1/', { id: '@_id' }, {
工作正常。任何帮助深表感谢!!
hmm ... changing this line to:
return $resource('/api/user_extra/:id/', { id: ̶'̶@̶_̶i̶d̶'̶ '@id' }, {
seems to have done it. Thank you very much!
如果默认参数值以@为前缀,则该参数的值将从数据对象上的相应属性中提取。例如,如果 defaultParam
对象是 {someParam: '@someProp'}
那么 someParam
的值将是 data.someProp
.
在上述问题中,PUT 操作试图提取数据对象的 属性 _id
,而 属性 的名称实际上是 id
。
有关详细信息,请参阅 AngularJS $resource API Reference。
我似乎无法从控制器获得一个 "id" 到 $resource
函数。这是有问题的代码...
控制器:
$scope.update_user_extra = function () {
UserExtraResource.update($scope.user_extra_details, function (data) {
$scope.user_extra_details = data;
$scope.user_extra_details = {mobile:data.mobile,
landline:data.landline,
position:data.position,
notes:data.notes,
language:data.language};
});
};
资源:
module.exports = function ($resource) {
return $resource('/api/user_extra/:id/', { id: '@_id' }, {
details: {method: 'GET', url: '/api/user_extra/details'},
update: {method: 'PUT'}
});
};
GET 工作正常,但自定义 PUT returns:
http://127.0.0.1:8000/api/user_extra/ 404 (Not Found)
像这样对 id 进行硬编码:
return $resource('/api/user_extra/1/', { id: '@_id' }, {
工作正常。任何帮助深表感谢!!
hmm ... changing this line to:
return $resource('/api/user_extra/:id/', { id: ̶'̶@̶_̶i̶d̶'̶ '@id' }, {
seems to have done it. Thank you very much!
如果默认参数值以@为前缀,则该参数的值将从数据对象上的相应属性中提取。例如,如果 defaultParam
对象是 {someParam: '@someProp'}
那么 someParam
的值将是 data.someProp
.
在上述问题中,PUT 操作试图提取数据对象的 属性 _id
,而 属性 的名称实际上是 id
。
有关详细信息,请参阅 AngularJS $resource API Reference。