在我们的应用程序中,我们重写了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