Обновление Rails: что мне делать с файлом new_framework_defaults? - PullRequest
0 голосов
/ 30 апреля 2018

Я обновляюсь с рельсов 5.1 до 5.2. Я сделал bundle update rails (плюс некоторые зависимости) и rails app:update. Теперь у меня есть файл initializers/new_framework_defaults_5_2.rb, со всеми комментариями.

Я не уверен, что мне нужно делать сейчас. Мое приложение работает нормально, так что, думаю, со всеми закомментированными строками у меня уже есть все новые значения по умолчанию. Тогда мне этот файл не нужен, верно?

Предположим, я сталкиваюсь с ошибками, значения, установленные в файлах, являются новыми значениями по умолчанию? Так что я бы раскомментировал, может быть перевернуть логическое значение и попытаться выяснить, что вызвало ошибку?

спасибо за вашу помощь

1 Ответ

0 голосов
/ 11 июля 2018

(Только что пройдя обновление с 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 не должны существовать после успешного завершения обновления. Они только для того, чтобы помочь выделить изменения и помочь в переходе с одной версии на другую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...