2015-06-11 146 views
1

我試圖使用刪除在商店集合的對象:銷燬對象

store.widgets.where(code: 'xyz').first.destroy 

,並從承諾如下結果:

[:@action, :@realized, :@exception, :@value, :@error, :@delayed, :@prev, :@next] 

和對象不被刪除/銷燬。

這是正確的做法嗎?

回答

0

嘗試這樣:

store.widgets.delete(store.widgets.where(code: 'xyz').first) 

或者,如果你真的想只是刪除了第一項:

store.widgets.delete_at(0) 
1

問題是由我自己的(傳統)#destroy在對象的方法引起覆蓋承諾鏈從firstdestroy的行爲。

可以確認兩個

store.widgets.delete(store.widgets.where(code: 'xyz').first) 

store.widgets.where(code: 'xyz').first.destroy 

做的工作預期。