Вопрос о плагинах Discourse и config/initializers в Rails 6

Это описывает фундаментальное свойство Rails, которое не имеет прямого отношения к Discourse.

В Rails все инициализаторы загружаются только при запуске Rails. Следовательно, любой плагин, выполняющий код на основе инициализатора (например, «after_initializer»), будет выполняться только при запуске или перезапуске Rails (поправьте меня, если я ошибаюсь).

Причина, по которой я знаком с этим, заключается в том, что я в настоящее время разрабатываю приложение на Rails для клиента и написал множество инициализаторов для различных задач (булевы значения, статические массивы и т. д.). В каждом случае, если мы меняем код в инициализаторе Rails, необходимо перезапустить Rails («Ctrl+C, rails s в режиме разработки»), чтобы новые значения из инициализаторов применились в приложении Rails.

Поправьте меня, если я не прав! Спасибо.

Иногда мне кажется, что это может сбить с толку некоторых разработчиков плагинов Discourse, особенно тех, кто работает преимущественно с плагинами Discourse, а не с приложениями Rails в целом, когда мы пишем «Discourse делает это» или «Discourse делает то», хотя на самом деле мы описываем базовую функцию или свойство Rails, не обязательно относящееся к Discourse как таковому.

Rails 6 считывает все файлы в директории config/initializers (и во всех поддиректориях config/initializers) только при запуске Rails. Аналогично (не уверен на 100% насчет плагинов), плагин Discourse, код которого зависит от after_initialize, будет (пожалуйста, подтвердите это кто-нибудь!) загружаться приложением Rails только при запуске или перезапуске Rails, поскольку это фундаментальное свойство процесса загрузки Rails.

Мне кажется, что все здесь работающие с Rails уже знают это. Я только начинаю узнавать эти детали (и чувствую, что мне еще далеко до эксперта), потому что в последнее время я каждый день работаю над приложением на Rails. Кстати, теперь я жалею, что не начал работать с Rails десять лет назад, так как, имея опыт разработки в стеке LAMP, я нахожу Rails гораздо более удобным (легким и приятным в работе).

В этом году я стал большим поклонником Rails и очень благодарен Discourse за то, что он открыл мне этот путь.

Еще раз, поправьте меня, если я не прав! Спасибо. Я стараюсь стать более экспертом в Rails.