Я хочу сохранить информацию об учетной записи электронной почты в файле config.yml.Я загружаю эту информацию в константу в файле конфигурации / инициализатора Rails по общему шаблону, который я видел в Интернете и обрисовал в общих чертах на этом RailsCast .Я пытаюсь установить значения по умолчанию для Action Mailer с помощью config.action_mailer.smtp_settings внутри файла config / application.rb, следуя примеру на Блог Мэтта Гарварда .Я продолжаю получать неинициализированные постоянные ошибки при запуске моего сервера rails.Я предполагаю, что application.rb вызывается до конфигурации / инициализаторов.Есть ли другое место, где я могу установить config.action_mailer.smtp_settings во время запуска, но после запуска config / initializer?
Обновление: возможно, я не был понятен в своем первом посте / вопросе.Я читаю файл config.yml в инициализаторе.Этот файл конфигурации хранит информацию об учетной записи электронной почты, такую как имя пользователя и пароль.Я не хочу помещать эту информацию (имя пользователя и пароль) в файлы application.rb или environment.rb.Я попытался переместить мой код в файл environment.rb, но при запуске rails обнаружил ту же неинициализированную постоянную ошибку.
Мой код для установки параметров почтовой программы действий выглядит следующим образом:
config.action_mailer.smtp_settings = {
:address => APP_CONFIG[:email_config][:address],
:port => APP_CONFIG[:email_config][:port],
:domain => APP_CONFIG[:email_config][:email_domain],
:user_name => APP_CONFIG[:email_config][:user_name],
:password => APP_CONFIG[:email_config][:password],
:authentication => :plain,
:enable_starttls_auto => true
}
config.action_mailer.default_url_options = {
:host => APP_CONFIG[:email_config][:host]
}
Я читаю из файла config.yml, чтобы установить константу APP_CONFIG в инициализаторе load_config.rb.Этот файл содержит 2 строки ниже:
raw_config = File.read(RAILS_ROOT + "/config/config.yml")
APP_CONFIG = YAML.load(raw_config)[RAILS_ENV]