Restangular PUT无缘无故地连接了两次_id

时间:2014-06-04 14:39:25

标签: angularjs restangular

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

1 个答案:

答案 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"});
});