1

これは非常に単純かもしれませんが、私は髪を引き裂いています。毎日実行したいスクリプトがあり、スクリプトは大量のレコードを更新します (20 の異なるモデルにわたって)。これらの大量の変更の監査証跡を維持することはあまり気にしません (または、何千もの通知をトリガーしたい)。 . act_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 に答える