在我们的应用程序中,我们覆盖了ActiveRecord destroy方法,这样我们的记录就不会被删除(因此用户可以取消删除)。像这样:
def destroy
self.is_deleted = true
self.save
freeze
end
然而,这似乎已经禁用了我们has_many
关系中的依赖性破坏。换句话说,如果在父对象上调用destroy
,则has_many
的子对象不会被销毁(它们不会被删除,即SQL'DELETE...
',也不会被删除被覆盖的destroy
- 方法被称为。)。
如何触发子对象的销毁。
谢谢!
答案 0 :(得分:6)
你需要触发destroy回调。
def destroy
self.is_deleted = true
self.save
run_callbacks :destroy
freeze
end