小编Jos*_*rco的帖子

Rails:如果因为父被销毁而被销毁时如何禁用before_destroy回调(:dependent =>:destroy)

我有两个班:父母和孩子

儿童:

belongs_to :parent
Run Code Online (Sandbox Code Playgroud)

has_many :children, :dependent => :destroy
Run Code Online (Sandbox Code Playgroud)

问题是我想检查总是至少有一个孩子存在,所以我在Child中有一个before_destroy方法,如果它是属于其父项的唯一子项,则中止destroy.

并且,如果我想要销毁父节点,它将在每个子节点上调用before_destroy回调,但是当有一个子节点时,它将中止销毁,因此父节点永远不会被销毁.

如果孩子因为父母没有被销毁,我怎么能告诉孩子调用before_destroy回调呢?

谢谢!

ruby-on-rails ruby-on-rails-3.1

19
推荐指数
3
解决办法
3070
查看次数

标签 统计

ruby-on-rails ×1

ruby-on-rails-3.1 ×1