触发相关的:破坏与覆盖破坏法 [英] Triggering dependent: :destroy with overridden destroy-method
本文介绍了触发相关的:破坏与覆盖破坏法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我们的应用程序,我们已经覆盖了ActiveRecord的销毁方法,使我们的记录不被删除(这样用户可以取消)。像这样:
In our application we've overridden the ActiveRecord destroy method so that our records do not get deleted (so the user can undelete). Like so:
def destroy
self.is_deleted = true
self.save
freeze
end
不过,这似乎已禁用依赖破坏我们的的has_many
的关系。换句话说,如果破坏
被称为父对象上的的has_many
不被摧毁的子对象(其不被删除,即SQL'删除...
',也不是重写灭
-method称为)。
However, this seems to have disabled the dependent destroy on our has_many
relationships. In other words, if destroy
is called on a parent object, the child objects of has_many
do not get destroyed (they don't get deleted, i.e, SQL 'DELETE...
', nor is the overridden destroy
-method called).
我如何触发子对象的破坏。
How do I trigger the destruction of the child objects.
谢谢!
推荐答案
您需要触发销毁回调。
def destroy
self.is_deleted = true
self.save
run_callbacks :destroy
freeze
end
这篇关于触发相关的:破坏与覆盖破坏法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文