我在两个独立的Heroku应用程序上部署了一组代码,因此运行于:
www.myapp.co
,另一个在
运行myapp-testing.heroku.com
因为一个是测试应用程序而另一个是生产,所以有几个地方我想区分这两个。考虑到我所知道的唯一区别是网络域,Rails是否有可能检测哪一个是哪个?
答案 0 :(得分:0)
request.headers['REQUEST_URI']
答案 1 :(得分:0)
如果您为每个实例正确设置了RAILS_ENV
环境变量(例如,production
为一个,test
为另一个),请使用例如:
$ heroku config:add RAILS_ENV=test RACK_ENV=test
...然后您可以使用Rails.env
找出您正在运行的环境,例如:
if Rails.env == 'test'
# ...
end
# OR:
if Rails.env.test?
# ...
end
这几乎是处理您所描述的单独环境的标准方法。