Rails 3 / Définition des variables d'environnement personnalisées
Je suis en train de créer une application rails qui attribue une valeur à une variable lorsque l'environnement est l'environnement de développement, et une autre valeur pour la même variable lorsque l'environnement est l'environnement de production. Je tiens à préciser que ces deux valeurs dans mon code (câblée), et ont rails pour savoir la valeur à affecter à la variable sur la base de laquelle l'environnement est en cours d'exécution. Comment puis-je faire cela?
Dans le cas où il est important, plus tard, j'ai accès à cette variable et renvoie sa valeur dans une méthode de classe d'un modèle.
source d'informationauteur Morris Singer
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec les initialiseurs.
Puis dans votre demande, appelez la variable de Configuration.json_url
Lorsque vous êtes en mode de développement, ce sera frappé de la http://test.domain.com URL.
Lorsque vous êtes en cours d'exécution en mode de production, ce sera frappé de la http://www.domain.com URL.
J'aime pour stocker des paramètres en YAML. D'avoir des paramètres différents en fonction de l'environnement, avec des valeurs par défaut, vous pouvez avoir un initialiseur de fichier (disons
config/initializers/application_config.rb
) comme ceci:...et puis dans
config/application_config.yml
:...ensuite, tirez les paramètres avec
APP_CONFIG[:my_setting]
- Je utiliser le Yettings gem dans les Rails 3.2, ce qui me permet de stocker mes variables de l'application dans
config/yettings.yml
comme suit:Et l'accès comme ceci:
Vous pouvez trouver de l'environnement comme ceci:
De stocker la valeur dans une variable globale dans votre
config/application.rb
par exemple:Vous pouvez également affecter la variable dans votre
config/environments/
fichiers au lieu de décider en fonction ondRails.env
dansapplication.rb
. Dépend de votre situation.