2014-02-28 101 views
-1

我想刪除一個由id選中的對象,但是當我按下「刪除」時,所有的對象都被刪除。使用資源刪除對象編號

如果我指定Inventory.drop({id: 2}它的工作原理,但使用Inventory.drop({id: '@id'})它沒有。爲什麼?

$scope.deleteInv = function() { 
    Inventory.drop(); 
}; 

我的模板:

<td><a href="" ng-click="deleteInv()">X</a></td> 

這裏是我廠:

app.factory('Inventory', function($resource, $http) { 
return $resource('http://someweb.com/api/v1/inventory/:id', {id: '@id'}, 
    { 
     update: { 
      method: 'POST', 
      params: {id: '@id'}, 
      isArray: false 
     }, 
     save: { 
      method: 'PUT' 
     }, 
     query: { 
      method: 'GET', 
      params: {id: '@id'}, 
      isArray: false 
     }, 
     create: { 
      method: 'POST' 
     }, 
     drop: { 
      method: 'DELETE', 
      params: {id: '@id'} 
     } 
    } 
); 
}); 
+0

我不明白,id應該從哪裏來?在調用'Inventory.drop()'' – glepretre

+0

不應該從'$ resource'獲取時,您不會發送參數? '{id:'@id'}'??我如何聲明庫存ID? – user3305175

+0

你可以創建一個簡單的翻轉器嗎?我猜你的'update'和'query'正在工作? – glepretre

回答

0

因爲你的@id是不確定的。

在哪裏爲其指定值?我認爲你沒有。

所以,你需要更改

params: {id: $scope.YourId} 

,你需要要傳遞任何值$sope.YourId

而且你需要在你的工廠定義$sopeapp.factory('Inventory', function($resource, $http,**$scope**) {

+0

這樣的事情? 'params:{id:$ scope.info.id}'?但它顯示$ scope沒有定義的錯誤 – user3305175

+0

是的,你需要在這裏定義'app.factory('Inventory',''function($ resource,$ http,** $ scope **){' –

+0

查看我更新的答案花花公子 –