Использование наблюдателя в движке
Я создал движок, который в основном используется для всех наших проектов.
Теперь, что я хочу сделать, это добавитьbefore_create
Обратный звонок ко всем моделям в этом двигателе.
После некоторых поисков я обнаружил, что наблюдатель - это путь.
Итак, я создал этого наблюдателя:
<code># app/models/baco/auth/auth_observer class Baco::Auth::AuthObserver < ActiveRecord::Observer def before_create( record ) p record end end </code>
Теперь мне нужно добавить его в приложение, но, конечно, в моем движке нет такого файла, как application.rb, поэтому я поместил его в свой движок:
<code># lib/baco/auth/engine.rb require 'rails' require 'devise' module Baco module Auth class Engine < Rails::Engine engine_name 'baco_auth' config.active_record.observers = :auth_observer end end end </code>
Но я получаю следующую ошибку при запуске сервера:
<code>.../.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.1/lib/active_support/inflector/methods.rb:229:in `block in constantize': uninitialized constant AuthObserver (NameError) </code>