2016-07-23 2 views
0

Раньше я видел много драгоценных камней, где вы бы их настраивали в файле application.rb или в одном из файлов окружения, потому что они подключались к помощникам конфигурации Railtie. Но теперь кажется, что каждый камень использует конфигурацию дескрипторов, имея файл инициализации с пользовательской конфигурационной реализацией (например, Devise's Devise.setup do |config|).Почему современные плагины для рельсов используют конфигурационные инициализаторы над конфигурационным крючком Railtie?

Я подозреваю, что одна причина в том, что у драгоценных камней, которые я использую, просто есть много вариантов конфигурации, поэтому имеет смысл использовать инициализатор. Но есть ли какие-либо другие причины не использовать Railtie's config?

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

ответ

0

Использование файла инициализатора позволяет избежать привязки конфигурации драгоценного камня к конкретным сведениям о том, как структура загружает конфигурацию.

Возьмите Devise здесь, например, - если крюк с рельсом изменился, он внезапно вернется к поведению по умолчанию. Это означает, что разработчикам необходимо будет изменить генератор и шаблон, и конечным пользователям потребуется изменить их конфигурацию при обновлении рельсов.

Также очень важно удалить драгоценные камни, которые используют файл инициализатора.