Вопрос

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, файл boot.rb автоматически обновляется при каждом запуске задачи rake

rake update:rails

Вы никогда не должны изменять этот файл.

Чтобы лучше понять, как работает инициализация Rails, Свен написал действительно полезную статью под названием Процесс запуска Rails с точки зрения парапланов .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top