1

Rails3.2.8アプリケーションを更新する必要があるRails2.3.12アプリケーションがあります。それらのデータベースは同じマシン上にあります。

2.3.12アプリケーションの残り時間はあまりないので、大規模で堅牢なメッセージングソリューションを使用するのではなく、より軽量なものを選択して更新を行います。2.3.12アプリケーションは製品カタログであり、それらに関連する変更があった製品またはその下位のhas_manyモデルのみを更新する必要があります。

after_saveこれを行う最良の方法は、before_destroyコールバックフックに少しコードを添付することだと思いました。関連する製品IDを追跡する3番目のテーブルがあります。その後、3.2.8アプリのバックグラウンドプロセスは、更新を探してそのテーブルを常にループします。

これらの2つのコールバックで十分な範囲をカバーしていますか、それとも特定のモデルへのすべての挿入、更新、および削除を処理するためにキャッチする必要がある何かがありますか?

また、もっと良いアプローチがあれば、ぜひ聞いてみたいと思います。オブザーバーを使うことを考えましたが、2.3.12で利用できるかどうかわかりません。

4

1 に答える 1

0

AR Observer は実際に 2.3.8 以降で利用できます。私は単一のオブザーバーを書き、それを私が関係していたモデルに添付し、詳細をテーブルに書き込んでいます。よく働く!

于 2012-10-04T17:10:46.960 に答える