說我有狗,皮帶和車主......如果我摧毀一條皮帶我也想摧毀這條狗..但是如果狗有車主則不會。Rails:dependent =>用條件摧毀
回答
你不想在這裏使用:dependent => :destroy
,而是像before_destroy
回調如此:
#leash.rb
before_destroy :destroy_dog
def destroy_dog
dog.destroy unless dog.owner
end
我在想像self.dog.destroy,除非self.dog.owner – Abram 2013-03-27 09:18:26
...但不知道如果你可以調用自我after_destroy – Abram 2013-03-27 09:18:43
yep,before_destroy也許更適合在這裏。相應地更新答案。 – aguynamedloren 2013-03-27 09:24:52
- 1. Rails:dependent =>摧毀,想調用另一個動作而不是銷燬
- 2. rails:dependent =>:銷燬被忽略
- 3. Gtk#摧毀事件
- 4. 摧毀FastButton事件
- 5. 「摧毀」DragShadowBuilder
- 6. 摧毀組件本身 - angular2
- 7. KineticJS摧毀舞臺
- 8. 如何摧毀libgdx
- 9. 如何摧毀PHP
- 10. AutoLayout摧毀路口
- 11. 當摧毀一個記錄,另外一個被摧毀
- 12. Bootstrap工具提示和popovers:摧毀,或不摧毀?
- 13. PHP會話摧毀試圖摧毀未初始化會話
- 14. ExtJS的 - 摧毀和渲染組件
- 15. 摧毀這個jQuery插件切換上
- 16. 的CreateFile/WriteFile的不摧毀舊文件
- 17. 導軌 - 幫助瞭解如何使用:依賴=>:摧毀
- 18. 熊貓摧毀單柱
- 19. 如何完全摧毀tinymce?
- 20. 摧毀拾取對象OnMouseDown
- 21. 摧毀many_to_many關係Rails
- 22. 摧毀一個意圖?
- 23. IME_ACTION_DONE似乎摧毀Android上
- 24. before_create - 摧毀多個記錄
- 25. Rails的摧毀與jQuery AJAX
- 26. HippoMocks堅持摧毀模擬
- 27. 如何摧毀的jqGrid
- 28. 子框架不摧毀python
- 29. Highcharts無法摧毀標籤
- 30. 不能摧毀線程
您可以使用該回調after_destroy。有關詳細信息,請參閱[本答案] [1]。 [1]:http://stackoverflow.com/questions/6049806/rails-aciverecord-use-dependent-destroy-on-condition – davidrac 2013-03-27 09:09:32
這是偉大的感謝。 – Abram 2013-03-27 09:11:30
你可以在after_destroy之後調用'self'嗎? – Abram 2013-03-27 09:16:13