Estoy actualizando mi plugin Rails para que sea un motor que funcione con la última versión 3.0RC1 y estoy teniendo problemas para encontrar la mejor (y la más correcta) forma de extender ActionController
. He visto this post por DHH y this question aquí en SO, pero mi pregunta es más acerca de cómo llamar correctamente el código dentro del ActionController
.Motor Rails 3.0 - Ejecutar código en ActionController
Por ejemplo, tengo que llamar al siguiente dentro del controlador de mi motor:
class ApplicationController < ActionController::Base
helper :all
before_filter :require_one_user
after_filter :store_location
private
def require_one_user
# Code goes here
end
def store_location
# Code goes here
end
end
sé cómo incluir adecuadamente mis dos funciones privadas, pero no puedo encontrar una manera de conseguir que se llama correctamente helper
, before_filter
y after_filter
.
Agradecería mucho algunos enlaces o una forma de hacer que esto funcione. He intentado nombrar mi controlador como algo distinto de ApplicationController
y tener el real ApplicationController
ampliarlo, pero eso tampoco parece funcionar. Realmente estoy dispuesto a cualquier solución que haga que la vida del usuario del motor sea lo más fácil posible. Idealmente, no tendrían que extender mi clase, pero tendrían toda la funcionalidad integrada en su propia ApplicationController
.
+1 y aceptado: ¡gracias por este impresionante informe! Aprecio que se tome el tiempo aunque ya lo "respondí" yo mismo. Es agradable ver una solución más elegante. Ah, y bienvenidos a Stack Overflow :-) –