Usando un observador dentro de un motor
He creado un motor que se utiliza básicamente para todos nuestros proyectos.
Ahora lo que quiero hacer es agregar unbefore_create
devolución de llamada a todos los modelos en este motor.
Después de algunas búsquedas descubrí que un observador es el camino a seguir.
Entonces, he creado este observador:
<code># app/models/baco/auth/auth_observer class Baco::Auth::AuthObserver < ActiveRecord::Observer def before_create( record ) p record end end </code>
Y ahora necesito agregarlo a la aplicación, pero, por supuesto, en mi Motor no existe un archivo como application.rb, así que lo coloqué en mi motor:
<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>
Pero me sale el siguiente error al iniciar el servidor:
<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>