Restangular PUT 无缘无故附加了 _id 两次

Sim*_*kir 3 angularjs restangular

我在客户端使用 Restangular,将 _id 作为 Id 字段。遗憾的是,Restangular 生成了错误的 URL,也许您可​​以告诉我错误在哪里?

Restangular.all('/users').one(id).get().then(functon(results) {
    $scope.data = results;
})
Run Code Online (Sandbox Code Playgroud)

用户编辑数据后:

$scope.save = function() {
     $scope.data.put().then(...);
};
Run Code Online (Sandbox Code Playgroud)

这个非常简单的示例使用两次 id 生成以下 URL。我不知道出了什么问题。:(

PUT /users/537283783b17a7fab6e49f66/537283783b17a7fab6e49f66

Sim*_*kir 5

通过更改 Retangular 的请求工作流程解决了这个问题。

我现在不知道为什么,但是这个 approad不起作用

Restangular.all('/users').one(id).get() ... result.put();
Run Code Online (Sandbox Code Playgroud)

但这确实:

Restangular.one('/users/',id).get() ... result.put();
Run Code Online (Sandbox Code Playgroud)

告诉 Restangular 您使用的是 _id 而不是 id 也很重要:

angular.module('App').config(function(RestangularProvider, AppSettings) {
  RestangularProvider.setRestangularFields({id: "_id"});
});
Run Code Online (Sandbox Code Playgroud)