为什么没有执行Railtie初始化程序?

Rom*_*man 7 initializer ruby-on-rails-plugins ruby-on-rails-3 railtie

在制作Passenger-Monit插件时,我认为使用初始化器是最合适的,即


module PassengerMonit
  class Railtie < Rails::Railtie
    initializer "my_plugin.some_init_task" do
      # my initialization tasks
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,块中的代码从未执行过.我终于做了一个解决方案

config.before_initialize {}
Run Code Online (Sandbox Code Playgroud)

但我很好奇,为什么初始化程序没有被执行.有什么可以阻止它运行?

E.F*_*oer 1

在你的 gemfile 中,你添加了

gem "Passenger-Monit"
Run Code Online (Sandbox Code Playgroud)

否则,您需要将其放入加载路径中并在应用程序中需要它。 http://www.igvita.com/2010/08/04/rails-3-internals-railtie-creating-plugins/

祝你好运!