Railtie inicializador no funciona en complemento
-
30-10-2019 - |
Pregunta
Recientemente cambié de la versión gema de resources_controller
a un plugin
como el gem
Versión confiada en git
.
Dentro de vendor/plugins/plugin/lib/plugin.rb
archivo, el Railtie
es como sigue:
module Ardes
module ResourcesController
class Railtie < Rails::Railtie
initializer 'ardes.resources_controller' do
ActiveSupport.on_load(:action_controller) do
extend Ardes::ResourcesController
include Ardes::ResourcesController::RequestPathIntrospection
end
ActiveSupport.on_load(:active_record) do
include Ardes::ActiveRecord::Saved
end
end
end
end
end
He agregado un require 'resources_controller'
En uno de mis inicializadores y está cargando correctamente este archivo. El problema es que aunque el Railtie
se evalúa (un puts
En el bloque de clase llegará), nunca parece llamar al bloque de inicializador en sí. Esto es importante, por supuesto, ya que aquí es donde se extiende ActionController
para incluir el resources_controller_for
método.
Esta pregunta parece haber surgido aquí y aquí. Aunque en ambos casos encontraron otras formas en torno al problema y no se dio una respuesta directa de por qué no se llamaba al bloque.
Por lo que puedo decir en los documentos de Rails, puede nombrar su bloque de inicializador que desee y debe funcionar. No creo que importe, pero primero noté el problema cuando se ejecuta en producción. rails s -e production
Aunque creo que existe el mismo problema en el modo de desarrollo.
¿Qué puede estar pasando?
Como referencia, el complemento completo está aquí: https://github.com/ianwhite/resources_controller
No hay solución correcta