【问题标题】:Configuring variables depending on current Rails.env根据当前 Rails.env 配置变量
【发布时间】:2012-12-06 21:41:03
【问题描述】:

配置不同变量的最简单方法是什么(例如,我在标签 link_to 中有变量,取决于当前的 Rails.env)?

<%
    if Rails.env == 'development'
        domain = 'somedomain.me'
    elsif Rails.env == 'staging'
        domain = 'example.com'
    end 
    %>
    <%= link_to 'Back', root_url(:subdomain => 'www', :domain => domain), :class=>"btn btn-primary"%>

我想将此 if - elsif 语句移到其他地方,或者如果存在某种“配置文件”,甚至将其删除

【问题讨论】:

  • 你能用你想要完成的具体例子来更新你的问题吗?

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

有一个很棒的宝石,叫做rails_configgithub repo

但是如果你只想配置这个并且只配置这个变量,你可以在 rails 已经拥有的环境配置文件中创建一个常量。

类似:

在您的 config/environments/production.rb 中

# production.rb
Rails.configuration.my_awesome_changing_domain = "somedomain.me"

在您的 config/environments/development.rb 中

# development.rb
Rails.configuration.my_awesome_changing_domain = "stackoverflow.com"

在您的 config/environments/staging.rb 中

# staging.rb
Rails.configuration.my_awesome_changing_domain = "news.ycombinator.com"

在这个线程的另一个答案中讨论了其他方法: https://stackoverflow.com/a/5053882

最好的问候

【讨论】:

    【解决方案2】:

    这是一篇关于在 Rails 上设置变量的好博文:http://railsapps.github.com/rails-environment-variables.html

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 1970-01-01
      • 2020-01-28
      • 2018-02-08
      • 1970-01-01
      • 2014-07-08
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多