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?
答案 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的非常有用的文章。