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:
# app/models/baco/auth/auth_observer
class Baco::Auth::AuthObserver < ActiveRecord::Observer
def before_create( record )
p record
end
end
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:
# 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
Pero me sale el siguiente error al iniciar el servidor:
.../.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)