jrd*_*oko 3 ruby environment ruby-on-rails helpers conditional-statements
在Ruby on Rails应用程序中,我有一个控制器,我想要一些有条件运行的功能,其中条件取决于运行应用程序的环境.作为一个人为的例子,在开发模式中我喜欢它做:
if foo == 5:
    ...
end
在生产模式中,我想:
if foo > 6:
    ...
end
两个条件之间的差异比单个常数(上例中的5或6)更复杂.
在Rails中最常用的方法是什么?我会直接在environments/文件中编写辅助方法吗?或者向应用程序控制器添加一个检查当前环境的方法?或者是其他东西?
我只想ENV['RAILS_ENV']在逻辑语句中添加一个检查.
http://guides.rubyonrails.org/configuring.html#rails-environment-settings
我会将您的代码更改为:
if foo == 5 && ENV['RAILS_ENV'] == "development" then
    ...
elsif foo > 6 && ENV['RAILS_ENV'] == "production" then
    ...
end
这只是流量控制的另一个条件,无需复杂化.
如果你需要做很多事情,可以使用一些方法application.rb:
def isDev
    ENV['RAILS_ENV'] == "development"
end
def isProd
    ENV['RAILS_ENV'] == "production"
end