1
我試圖使用刪除在商店集合的對象:銷燬對象
store.widgets.where(code: 'xyz').first.destroy
,並從承諾如下結果:
[:@action, :@realized, :@exception, :@value, :@error, :@delayed, :@prev, :@next]
和對象不被刪除/銷燬。
這是正確的做法嗎?
我試圖使用刪除在商店集合的對象:銷燬對象
store.widgets.where(code: 'xyz').first.destroy
,並從承諾如下結果:
[:@action, :@realized, :@exception, :@value, :@error, :@delayed, :@prev, :@next]
和對象不被刪除/銷燬。
這是正確的做法嗎?
嘗試這樣:
store.widgets.delete(store.widgets.where(code: 'xyz').first)
或者,如果你真的想只是刪除了第一項:
store.widgets.delete_at(0)
問題是由我自己的(傳統)#destroy在對象的方法引起覆蓋承諾鏈從first
到destroy
的行爲。
可以確認兩個
store.widgets.delete(store.widgets.where(code: 'xyz').first)
和
store.widgets.where(code: 'xyz').first.destroy
做的工作預期。