我已经阅读了http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html上的文档,但是不知道何时around_*触发了关于before_*和的回调after_*.
任何帮助非常感谢.
谢谢.
我有一个应用程序,我想覆盖我的许多模型的破坏行为.用例是用户可能有合法需要删除特定记录,但实际上从数据库中删除该行会破坏影响其他相关模型的参照完整性.例如,系统的用户可能想要删除与他们不再开展业务的客户,但需要维护与该客户的交易.
看来我至少有两个选择:
我错过了一个更好的方法吗?
选项1对我来说似乎是一个可怕的想法,尽管我喜欢听到相反的论点.
选项2似乎有些Rails-ish但我想知道处理它的最佳方法.我应该创建自己的继承自ActiveRecord :: Base的父类,重写那里的destroy方法,然后从我想要这种行为的模型中继承该类吗?我是否还应该覆盖查找器行为,因此默认情况下不会返回标记为已删除的记录?
如果我这样做,我将如何处理动态查找器?命名范围怎么样?