3つのモデル(本、キャラクター、作者)のafter_createでいつでもアクションを実行するAuditorObserverを追加したいと思います...
最近、オブザーバー機能について聞いたのですが、その機能に関するドキュメントが見つかりません。 Rails 3でサポートされていますか?
3つのモデルに対してafter_createを実行するAuditorObserverを作成するにはどうすればよいですか?
ありがとう
Rails observers 甘い、1つのobserver内で複数のモデルをobserve
できます
まず、オブザーバーを生成する必要があります。
Rails g observer Auditor
次に、新しいauditor_observer.rbファイルで、observe
するモデルを定義してから、after_create
コールバックを追加します。
class AuditorObserver < ActiveRecord::Observer
observe :model_foo, :model_bar, :model_baz
def after_create(record)
#do something with `record`
end
end
Application.rbに追加
config.active_record.observers = :auditor_observer
そしてそれはうまくいくはずです。