Rails 3 Observer - 複数のモデルにObserverを実装する方法を学びたい 質問する

Rails 3 Observer - 複数のモデルにObserverを実装する方法を学びたい 質問する

3 つのモデル (書籍、キャラクター、著者) に対して after_create の後にいつでもアクションを実行する Auditor Observer を追加したいと思います...

最近、Observer 機能について耳にしましたが、その機能に関するドキュメントが見つかりません。Rails 3 ではサポートされていますか?

3 つのモデルに対して after_create を実行する Auditor Observer を作成するにはどうすればよいですか?

ありがとう

ベストアンサー1

レール観察者甘い、observe1つの中に複数のモデルを観察者

まず、オブザーバーを生成する必要があります。

rails g observer Auditor

次に、新しいauditor_observer.rbファイルで必要なモデルを定義しobserveafter_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

そしてそれは動作するはずです。

おすすめ記事