(Только что пройдя обновление с 4.2 до 5.2 Rails, я напишу более полный ответ.)
Рельсы 5.0
Начиная с Rails 5, команда Rails решила сгенерировать инициализатор , config/initializers/new_framework_defaults.rb
, который содержал значения для новых значений конфигурации по умолчанию. Этот файл создается как для новых (rails new
) приложений Rails 5.0, так и для приложений, обновленных (rake app:update
) до Rails 5.0, хотя содержимое отличается между новыми и обновленными приложениями.
Для новых проектов он содержит значения по умолчанию для Rails 5.0.
Для обновленных проектов он содержит значения по умолчанию для предыдущей версии . Предполагается, что ваше приложение будет работать с теми же настройками по умолчанию, что и раньше, и вы можете переключать / обновлять по одному во время обновления.
Рельсы 5.1 и 5.2
После того, как некоторые недостатки этого механизма стали очевидны (в основном связанные с выполнением инициализаторов в лексическом порядке), Rails 5.1 внес в него некоторые изменения .
Новый метод , #load_defaults
, был добавлен к Rails.application.config
. Инициализатор по умолчанию для новой платформы имеет версии, например, new_framework_defaults_5_1.rb
, и генерируется только во время обновления, а не для нового приложения.
В отличие от new_framework_defaults.rb
из Rails 5.0, настройки в new_framework_defaults_5_x.rb
файлах (почти) все закомментированы. Это новые значения по умолчанию. Вы можете просмотреть каждый из них, раскомментировать настройки и протестировать свое приложение. Если ваше приложение работает с новыми настройками по умолчанию, вы можете сбросить файл new_framework_defaults_5_x.rb
и увеличить значение в config/application.rb
до текущей версии, т. Е. Изменить config.load_defaults 5.1
на config.load_defaults 5.2
, если вы обновлялись до Rails 5.2.
Возможно, есть настройка, для которой вам не нужно новое значение по умолчанию. Если бы я хотел сделать такой параметр постоянным, я бы, вероятно, переместил его в config/application.rb
где-то ниже load_defaults
вызова для всех сред или в соответствующий файл (файлы) config/environments/*.rb
для конфигураций, специфичных для среды.
Краткое описание
Мне кажется, что файлы config/initializers/new_framework_defaults*.rb
не должны существовать после успешного завершения обновления. Они только для того, чтобы помочь выделить изменения и помочь в переходе с одной версии на другую.