环境先行还是先启动?

时间:2009-06-21 22:45:29

标签: ruby-on-rails ruby initialization

environment.rb以此开头:

RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|

这是否意味着environment.rb首先启动并调用boot.rb?

1 个答案:

答案 0 :(得分:1)

environment.rb是主要的Rails环境文件。它需要boot.rb文件,但boot.rb在Rails :: Initializer.run之前运行。实际上,boot.rb的最后一行包含以下语句

# All that for this:
Rails.boot!

请注意,虽然environment.rb文件属于您的Rails应用程序,但每次运行rake任务时都会自动更新boot.rb文件

rake update:rails

你永远不应该修改那个文件。

为了更好地理解Rails初始化的工作原理,Sven撰写了一篇名为The Rails startup process from a paragliders perspective的非常有用的文章。