如何在Rails服务器启动后运行我的ruby代码?
我试过了:
after_initialize do #code end
但是:(文件)
应用程序的某些部分,特别是观察者和路由,尚未在调用after_initialize块时设置。
我需要在我的代码中使用路由和记录器
有任何想法吗?
请参阅http://guides.rubyonrails.org/configuring.html的 3.1节
我相信你会把这段代码放在config / application.rb中
config.after_initialize do # .... end # config.after_initialize takes a block which will be run after Rails has finished initializing the application. # That includes the initialization of the framework itself
还有http://guides.rubyonrails.org/initialization.html
@ house9的答案是正确的,正如评论所指出的,这也将在运行rake任务,控制台等时执行。我使用以下内容来识别服务器实际执行的时间:
# application.rb if defined?(Rails::Server) config.after_initialize do # Do stuff here end end
另一种选择是创建自定义初始化程序。 它只是一个生成在config / initializers /下的ruby文件,并且正好执行“on_server_start”事件:)