ruby-on-rails – 触发依赖::使用重写的destroy-destroy进行破坏

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 触发依赖::使用重写的destroy-destroy进行破坏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我们的应用程序中,我们重写了ActiveRecord destroy方法,以便我们的记录不会被删除(因此用户可以取消删除).像这样:
def destroy
  self.is_deleted = true
  self.save
  freeze
end

然而,这似乎已经禁止了我们has_many关系的依赖性破坏.换句话说,如果在父对象上调用destroy,则has_many的子对象不会被销毁(它们不会被删除,即sql’DELETE …’,也不会被重写的destroy-method被调用).

如何触发子对象的销毁.

谢谢!

解决方法

您需要触发destroy回调.
def destroy
  self.is_deleted = true
  self.save
  run_callbacks :destroy
  freeze
end

猜你在找的Ruby相关文章