在Rails中测试域

时间:2011-10-25 23:45:19

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

我在两个独立的Heroku应用程序上部署了一组代码,因此运行于:

www.myapp.co

,另一个在

运行
myapp-testing.heroku.com

因为一个是测试应用程序而另一个是生产,所以有几个地方我想区分这两个。考虑到我所知道的唯一区别是网络域,Rails是否有可能检测哪一个是哪个?

2 个答案:

答案 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

这几乎是处理您所描述的单独环境的标准方法。