我正在尝试让 to_prepare 事件在新的 Rails 3.2.1 项目上工作。我放置了以下内容:
Rails.application.config.to_prepare do
puts 'here i am before a request'
end
进入 config/initializers 下的初始化程序。根据文档here http://guides.rubyonrails.org/configuring.html#initialization-events,在开发模式下运行时,此块应针对应用程序的每个请求运行,并且在生产中仅运行一次。我正在开发模式下工作,并且该块不会在每个请求上运行,而是仅在我启动应用程序时运行,并且再也不会运行。
以下是我加载应用程序时的输出示例。
rails s
=> Booting WEBrick
=> Rails 3.2.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
here i am before a request
[2012-03-02 20:29:46] INFO WEBrick 1.3.1
[2012-03-02 20:29:46] INFO ruby 1.9.2 (2011-07-09) [x86_64-darwin11.2.0]
[2012-03-02 20:29:46] INFO WEBrick::HTTPServer#start: pid=37897 port=3000
当我发出后续请求时,不会显示字符串“here i am...”,仅显示 Rails 日志的常规输出。我所有的搜索都只提到了似乎告诉我这样做的文档。我可能缺少什么吗?
每次重新加载项目时都会调用 to_prepare,从 Rails 3.2 开始这意味着每次更改文件时。
refs: https://github.com/rails/rails/issues/7152#issuecomment-8397470 https://github.com/rails/rails/issues/7152#issuecomment-8397470
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)