У меня есть файл конфигурации/Инициализаторы/secrets.rb, содержащий следующее:Rails конфигурационные переменные не во время инициализации
Rails.configuration.smtp_domain = "derp.com"
Rails.configuration.smtp_password = "derpderp"
Rails.configuration.smtp_user = "[email protected]"
Rails.configuration.smtp_address = "derp.derp.com"
В моей конфигурации/сред/development.rb У меня есть следующее:
config.action_mailer.smtp_settings = {
:address => Rails.configuration.smtp_address,
:port => 587,
:domain => Rails.configuration.smtp_domain,
:user_name => Rails.configuration.smtp_user,
:password => Rails.configuration.smtp_password,
:authentication => 'login',
:enable_starttls_auto => true
}
Теперь, когда я bundle exec rails c
я получаю эту ошибку:
`method_missing': undefined method `smtp_address' for #<Rails::Application::Configuration:0x007f8c4505b238> (NoMethodError)
Однако если я закомментируйте Smtp конфигурации вне, то в консоли я могу это сделать:
Loading development environment (Rails 3.2.1)
irb(main):001:0> Rails.configuration.smtp_address
=> "derp.derp.com"
Я не могу комментировать это в производство, хотя! Любая помощь будет очень признательна, спасибо!
Действительно ли это путь к файлу config/initializers.secret.rb, а не 'config/initializers/secret.rb'? – pjammer
Упс! Это была опечатка, файл находится в нужном месте. Благодаря! – Blastula