【问题标题】:Handling properties/configurations in Rails在 Rails 中处理属性/配置
【发布时间】:2012-03-20 02:46:08
【问题描述】:

我希望能够将硬编码配置移出我的 .rb 文件。

我不想拥有这样的东西:

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    因此,如果您有一个生产环境和一个 beta 环境,那么在 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 这样的工具,它们提供了转换配置文件的编程方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      相关资源
      最近更新 更多