gpt4 book ai didi

ruby-on-rails - 触发依赖 : :destroy with overridden destroy-method

转载 作者:行者123 更新时间:2023-12-04 06:07:09 26 4
gpt4 key购买 nike

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

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

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

如何触发子对象的销毁。

谢谢!

最佳答案

您需要触发销毁回调。

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

关于ruby-on-rails - 触发依赖 : :destroy with overridden destroy-method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com