Подтвердить что ты не робот

Rails 3 Observer - чтобы узнать, как реализовать Observer для нескольких моделей

Я хотел бы добавить Auditor Observer, который делает действие в любое время after_create для трех моделей (книг, персонажей, авторов)...

Недавно я слышал о возможности Observer, но не могу найти документацию о возможностях. Поддерживается ли она в Rails 3?

Как создать Auditor Observer, который делает что-то after_create для 3 моделей?

Спасибо

4b9b3361

Ответ 1

Rails наблюдатели сладки, вы можете 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

И он должен работать.