Rail 3自定义环境变量

vin*_*ceh 0 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我们如何在Rails 3.1中创建自定义环境变量?

例如,在我的邮件程序中,我可能希望在开发模式期间从emailA@domain.com发送电子邮件,但我想在生产期间从emailB@domain.com发送电子邮件.

我试着像这样,但得到一个错误说的变量未初始化.

谢谢 :)

Kyl*_*yle 5

在环境文件中,添加变量

应用程序/配置/环境/ development.rb

YourApp::Application.configure do
  # other stuff... 
  config.admin_email = "admin_development@gmail.com"
end
Run Code Online (Sandbox Code Playgroud)

应用程序/配置/环境/ production.rb

YourApp::Application.configure do
  # other stuff... 
  config.admin_email = "admin_production@gmail.com"
end
Run Code Online (Sandbox Code Playgroud)

根据环境,YourApp::Application.config.admin_email将包含admin_development@gmail.comadmin_production@gmail.com

或者,如果电子邮件仅因环境名称而不同,我建议做这样的事情......

admin_email = "admin_#{Rails.env}@gmail.com"
Run Code Online (Sandbox Code Playgroud)