Ответ 1
application_controller.rb
ApplicationController является родительским классом для всех контроллеров. По этой причине объявленные в нем методы будут доступны для всех контроллеров.
ApplicationController - удобное место для фильтров, которые вы хотите применить ко всем контроллерам в вашем приложении, или к способам, которые вы хотите предоставить всем.
конфигурации/среда/*. Гь
Файлы в config/environment/*. rb переопределяют параметры в файле config/enviornment.rb по умолчанию в зависимости от того, в какой среде работает ваш сервер (разработка/производство). Одним из примеров является то, что при ошибках разработки печатаются на экране и в процессе производства возвращается общая страница ошибки. Этот параметр находится в config/environment/development.rb
boot.rb
boot.rb используется как часть процесса инициализации рельсов. Вам обычно не нужно и, вероятно, не следует трогать его.
environment.rb
environment.rb - это общий файл конфигурации для вашего приложения.
routes.rb
routes.rb используется для определения того, как ваше приложение обрабатывает запросы к определенным URL-адресам. Например, вы можете захотеть, чтобы все 404 запросов перешли на конкретное действие вместо обработки обработчиком ошибок по умолчанию:
map.connect '*path', :controller => 'home', :action => 'on_404'
Это также важная часть реализации RESTful.
Где разместить код инициализации и конфигурации
Оба кода инициализации и пользовательские данные конфигурации должны быть помещены в enviornment.rb(читайте комментарии в этом файле). Если вы хотите, чтобы определенный код запускался во время инициализации только в процессе разработки или только в процессе производства, поместите его в config/environment/development.rb или config/environment/production.rb соответственно.
Edit:
Хороший обзор, когда каждый из этих файлов запускается во время инициализации, доступен здесь:
http://toolmantim.com/articles/environments_and_the_rails_initialisation_process https://github.com/toolmantim/toolmantim/blob/master/articles/environments_and_the_rails_initialisation_process.haml
По существу, этапы:
-
Загружается инициализатор Rails (http://api.rubyonrails.org/classes/Rails/Initializer.html)
-
Инициализатор rails устанавливает регистрацию, а затем загружает environment.rb
-
environment.rb загружает boot.rb
-
boot.rb устанавливает константу
RAILS_ROOT
и добавляет библиотеки rails и код приложения вLOAD_PATH
-
environment.rb выполняет
Rails::Initializer.run
. -
Загружается платформа rails (ActiveRecord, ActionMailer и т.д.)
-
Загружается ваш конфигурационный файл, специфичный для вашей среды (config/environment/development.rb.)
-
after_initialize
иto_prepare
обратные вызовы выполняются, если вы создали -
Rails завершил загрузку и готов обрабатывать запросы