处理Rails中的属性/配置

时间:2012-03-01 15:35:24

标签: ruby-on-rails configuration properties environment-variables

我希望能够在我的.rb文件之外移动硬编码配置。

我不想有这样的东西:

   config.action_mailer.default_url_options = {
       :host => 'www.mydomain.com',
   }

我需要在不同的机器之间轻松更换。 实现这一目标的最佳途径是什么?

由于

1 个答案:

答案 0 :(得分:0)

通常配置内容旨在保留在.rb文件中 - 这是在不同环境中实现不同配置的最佳途径。

因此,如果您有生产环境和测试版环境,请在beta.rb中找到:

   config.action_mailer.default_url_options = {
       :host => 'beta.mydomain.com',
   }

在production.rb中你有:

   config.action_mailer.default_url_options = {
       :host => 'www.mydomain.com',
   }

如果您尝试将配置设置存储在其他位置,则可能尝试更改设置,因为您的部署环境不是静态的(例如EC2,您可以使用不同的IP来启动和关闭计算机) 。在这种情况下,我建议您调查rubberchef等工具,以提供转换配置文件的编程方法。