6

在我们的应用程序中,我们重写了 ActiveRecord destroy 方法,这样我们的记录就不会被删除(因此用户可以取消删除)。像这样:

def destroy
  self.is_deleted = true
  self.save
  freeze
end

然而,这似乎已经禁用了对我们has_many关系的依赖破坏。换句话说,如果destroy在父对象上调用,其子对象has_many不会被销毁(它们不会被删除,即 SQL ' DELETE...',也不会destroy调用覆盖的 - 方法)。

如何触发子对象的销毁。

谢谢!

4

1 回答 1

6

您需要触发销毁回调。

def destroy
  self.is_deleted = true
  self.save
  run_callbacks :destroy
  freeze
end
于 2012-10-31T12:40:01.690 回答