1

这可能很简单,但我正在扯掉我的头发。我有一个我想每天运行的脚本,该脚本会更新大量记录(跨越 20 个不同的模型),我并不真正关心维护这些大规模更改的审计跟踪(或想要触发 1000 条通知) . 我真的需要一种暂时禁用acts_as_audited 和action mailer 的方法,运行脚本然后重新启用它们。

有没有一种简单的方法可以做到这一点?

我正在使用 ree/rails 2.3

4

1 回答 1

1

终于弄清楚了,这篇博文:http: //blog.viarails.net/2009/1/29/disabling-callbacks-in-an-activerecord-data-migration和这个stackoverflow问题帮助我如何避免运行ActiveRecord回调? .

为了更进一步,您还可以通过执行此 YourModel.before_save_callback_chain.select {|m| 来禁用在回调链中调用的特定方法(假设是 before_save 完成的通知)m.method == :your_notification_method_symbol}.clear

只是发布这个,以便其他人可以找到它......享受!

于 2011-09-12T07:35:46.450 回答