我有兩個模型之間有一個簡單的has_many/belongs_to關聯。 我的問題是,當我刪除一個我不再想要的對象(來自父模型)時,子模型對象中的外鍵仍然存在。例如:刪除模型對象後如何刪除關聯
森林
has_many :trees, :inverse_of => :forest
樹
belongs_to :forest
當我刪除Forest
對象,所有相關的Tree
對象還含有價值forest_id
,結果在前端發生錯誤。有沒有像我可以使用的before_destroy
之類的鉤子?雖然我在想這可能是一個非常簡單的解決方案。
感謝
這正是我一直在尋找的東西,不幸的是它不起作用?外鍵仍然 –
你可以嘗試使用':dependent =>:restrict',如果rails認爲外鍵存在,它將會引發異常......只是爲了驗證依賴選項是否被設置。 – cjhveal
Ahhh它的工作原理 - 我的不好,我把':dependent'選項放在錯誤的模型上。謝謝:) –