Перезагрузить конфигурацию после инициализации Rails - PullRequest
2 голосов
/ 16 ноября 2010

В environment.rb, рельсы настроены в блоке инициализатора:

Rails::Initializer.run do |config|
  config.action_mailer.smtp_settings = SETTINGS
end

Это распространяется для передачи различных настроек конфигурации в классы платформы, такие как ActionMailer :: Base.smtp_settings.

Если мне нужно перенастроить это вне блока Initializer.run, я могу установить:

Rails.configuration.action_mailer.smtp_settings = NEW_SETTINGS

Но в этом случае он не обнаружен в ActionMailer :: Base.smtp_settings.

Есть ли способ заставить Rails снова "подтолкнуть" свою обновленную конфигурацию? Или лучше просто перенастроить ActionMailer :: Base напрямую и не беспокоиться о том, что Rails.configuration с ним не синхронизирован?

1 Ответ

1 голос
/ 30 ноября 2011

Вы должны просто использовать ActionMailer :: Base class.Смысл использования Rails.configuration заключается в том, чтобы иметь возможность устанавливать различные параметры перед загрузкой реального кода.Если вам нужно что-то изменить впоследствии, вам не нужно использовать Rails.configuration.

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