RESTAngular PUT不保存整个有效负载

时间:2014-01-17 07:30:00

标签: angularjs restangular

我正在尝试使用RESTAngular发出PUT请求。我是Angular和RESTAngular的新手。

以下是有效的代码片段。

$scope.itemToUpdate = Restangular.all($scope.slug);
$scope.itemToUpdate.getList().then(function(items){
    var item = items.one($routeParams.id);
    item.name = $scope.singular.name;
    item.description = $scope.singular.description;
    item.put();
});

这不起作用。

    $scope.itemToUpdate = Restangular.all($scope.slug);
    $scope.itemToUpdate.getList().then(function(items){
        var item = items.one($routeParams.id);
        item = $scope.singular;
        item.put();
    });

不知道我做错了什么。

$scope.singular最初获取数据如下。 Restangular.one('roles', $routeParams.id).getList().$object

基本上,想法是从表单更新此模型,并在slug与id匹配时使用相关数据预填充表单。如果需要,我可以改变连接方式。所以请随意提出最佳做法。

编辑2

此官方演示非常有助于解决此问题。 http://plnkr.co/edit/d6yDka?p=preview

2 个答案:

答案 0 :(得分:3)

当Restangular返回resouce array \ object时,它会在对象上添加一些方法,例如put,它已被连线以更新对服务器的put调用对象。

在第二种情况下,您要分配item=$scope.singular$scope.singular可能不是Restangular对象,因此不起作用。

答案 1 :(得分:0)

此官方演示非常有助于解决此问题。 http://plnkr.co/edit/d6yDka?p=preview