Iam在客户端使用Restangular,其中_id为Id字段。遗憾的是Restangular会生成错误的网址,也许你可以说我错误在哪里?
Restangular.all('/users').one(id).get().then(functon(results) {
$scope.data = results;
})
用户编辑数据后:
$scope.save = function() {
$scope.data.put().then(...);
};
这个非常简单的示例生成以下带有id两次的URL。我不知道出了什么问题。 :(
PUT / users / 537283783b17a7fab6e49f66 / 537283783b17a7fab6e49f66
答案 0 :(得分:4)
通过更改Restangular的请求工作流程解决了这个问题。
我现在不知道为什么,但这种认可不起作用:
Restangular.all('/users').one(id).get() ... result.put();
但这样做:
Restangular.one('/users/',id).get() ... result.put();
同样重要的是告诉Restangular您使用的是_id而不是id:
angular.module('App').config(function(RestangularProvider, AppSettings) {
RestangularProvider.setRestangularFields({id: "_id"});
});