2011-10-25 3 views
0

J'ai un ensemble de code déployé sur 2 applications Heroku séparées, donc on court à:Testez le domaine dans Rails

www.myapp.co 

et les autres pistes à

myapp-testing.heroku.com 

Parce que l'on est un test app et l'autre est la production, il y a quelques endroits où je veux faire la distinction entre les deux. Est-il possible pour Rails de détecter lequel est quoi, étant donné que la seule différence que je connaisse est le domaine web?

+0

Je ne sais pas si je vous suis. Vous voulez connaître le nom d'hôte en cours d'exécution? –

Répondre

0
request.headers['REQUEST_URI'] 
0

Si vous définissez votre variable d'environnement RAILS_ENV correctement pour chaque instance (par exemple pour une production, test pour l'autre) en utilisant par exemple:

$ heroku config:add RAILS_ENV=test RACK_ENV=test 

... vous pouvez utiliser Rails.env pour savoir dans quel environnement vous courez, par exemple:

if Rails.env == 'test' 
    # ... 
end 

# OR: 

if Rails.env.test? 
    # ... 
end 

Ceci est à peu près la façon standard de traiter avec des environnements séparés comme vous décrivez.

Questions connexes