2016-10-13 32 views

回答

2

不,因爲您可以在不實例化它們的情況下刪除記錄,這些記錄不會調用依賴銷燬,並且您將留下孤立的記錄。

例如delete_all

相反,如果添加了一個外鍵的數據庫將處理刪除,如果你實例化對象與否並不重要。

例如,在遷移,你可以添加

def change 
    add_foreign_key :as, :bs, on_delete: :cascade 
end 

或者在創建表的遷移

t.belongs_to :a, foreign_key: { on_delete: :cascade } 
+0

事實上,我在控制檯只是測試,無需指定'''取決於:銷燬'''連接表has_many'''關聯,rails似乎負責自動銷燬連接表中相應的數據。 –

相關問題