2012-10-31 80 views
5

在我們的應用中,我們已經覆蓋了ActiveRecord的銷燬方法,使我們的記錄不被刪除(這樣用戶可以取消)破壞。像這樣:觸發依賴:與重寫破壞法

def destroy 
    self.is_deleted = true 
    self.save 
    freeze 
end 

然而,這似乎已禁用依賴摧毀我們的has_many關係。換句話說,如果在父對象上調用destroy,則has_many的子對象不會被銷燬(它們不會被刪除,即SQL'DELETE...',也不會被重寫的destroy - 方法調用)。

如何觸發子對象的破壞。

謝謝!

回答

6

您需要觸發毀滅的回調。

def destroy 
    self.is_deleted = true 
    self.save 
    run_callbacks :destroy 
    freeze 
end 
+0

謝謝!這正是我所錯過的。 :) –