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?

有帮助吗?

解决方案

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撰写了一篇非常有用的文章,名为从滑翔伞的角度看Rails启动过程

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top