使Restangular .remove()与Rails浅路由一起工作

时间:2015-08-18 16:14:50

标签: ruby-on-rails angularjs restangular

说,我有如下嵌套资源,

shallow do
  resources :aalu do
    resources :pyaj
  end
end

使用restangular我可以使用以下Restangular调用

获取所需的资源
all_pyaj = Restangular.one('aalu', $stateParams.aaluId).all('pyaj').getList();

pyajall_pyaj数组的元素,我使用ng-repeat得到它。

现在,当我想使用remove()方法使用Restangular删除资源时, pyaj.remove()/aalu/:aalu_id/pyaj/:pyaj_id

进行DELETE调用

我希望它对/pyaj/:pyaj_id进行DELETE调用,并从角度$ scope中移除resrouce。

我可以通过以下方式实现这一目标,

Restangular.one('pyaj', payj.id).remove().then(
   function (response) { /* Problem: Delete this pyaj from $scope */ }

我可以让Restangular对/pyaj/:pyaj_id进行DELETE调用并从角度$ scope中删除资源吗?

Restangular如何与浅路线一起工作?

1 个答案:

答案 0 :(得分:1)

您应该使用RestangularProvider.setParentless(['pyaj']);配置Restangular以告诉它任何pyaj对象应该是"浅"。请参阅https://github.com/mgonto/restangular#setparentless