Ruby on rails 销毁而不回调
我想跳过特定销毁方法的回调Ruby on rails 销毁而不回调,ruby-on-rails,Ruby On Rails,我想跳过特定销毁方法的回调 @object.destroy //but no callbacks, like after_commit 我不是在寻找删除。因为delete只会删除对象。它不会处理关联的子对象。因为销毁也会销毁依赖的孩子。有两种方法: 若您只想执行一次,则应通过数据库或控制台手动删除它和关系 如果你想让这种行为永久存在,你需要改变你的外键,让它像某人在评论中建议的那样,在删除时显示 例如: def更改 在删除::级联上添加\u外键:childrentable,:object
@object.destroy //but no callbacks, like after_commit
我不是在寻找
删除。因为delete
只会删除对象。它不会处理关联的子对象。因为销毁
也会销毁依赖的孩子。有两种方法:
- 若您只想执行一次,则应通过数据库或控制台手动删除它和关系
- 如果你想让这种行为永久存在,你需要改变你的外键,让它像某人在评论中建议的那样,在删除时显示
例如:
def更改
在删除::级联上添加\u外键:childrentable,:object
结束
这将更改您的ChildrenTable表外键对象id,使其在删除级联时具有
我同意,DELETE
是“在没有回调的情况下销毁”。因为DELETE
只会删除对象。它不会处理关联的子对象。因为destroy
也将销毁从属子项。您可以使用跳过回调
然后销毁当前子项object@leo将外键与\u delete::cascade上的一起使用,数据库将删除子对象。@j-dexx,听起来不错,谢谢。但实际上我只想在这一点上禁用回调。如果对象从任何其他点被破坏,我希望回调能够正常工作。