J'avais l'habitude script/server -e production
de démarrer des rails en mode production. C'est le cas et je n'ai eu aucune erreur. Cependant, comment savoir s'il est en mode production? J'ai essayé une route inexistante et j'ai obtenu une page d'erreur similaire à celle que j'ai faite en développement.
Je pensais que si sous le modèle de production, j'obtiens la page d'erreur 404 qui se trouve dans mon dossier / public.
Cela signifie-t-il qu'il n'a pas démarré en mode production?
Merci de votre aide.
RAILS_ENV
est obsolète. UtilisezRails.env
plutôt.Si ses Rails 3.1+,
Rails.env.production?
reviendronttrue
lors de la production.Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
la source
>> Rails.env
viarails c
apparaît pour afficher pour n'importe quel mode.Rails.env.development?
aussi disponible.Rails.env
est une chaîne décorée deActiveSupport::StringInquirer
. api.rubyonrails.org/classes/ActiveSupport/StringInquirer.htmlPour les versions Rails modernes (3+),
Rails.env
renvoie l'environnement sous la formeString
:Rails.env #=> "production"
Il existe également des accesseurs utiles pour chaque environnement qui renverront un
Boolean
:Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
la source
Sur votre ligne de commande, tapez
rails console
alorsRails.env
.la source
J'ai trouvé beaucoup plus facile de simplement redémarrer le serveur rails et de lire la deuxième ligne sur la ligne de commande:
rails s -e production
Sorties en cours d'exécution :=> Booting Puma => Rails 4.2.4 application starting in `production` on http://localhost:3000
Il y avait Webrick dans l'exemple mais certaines personnes ne comprenaient pas comment changer de serveur remplacerait simplement le nom. Mis à jour pour plus de clarté.
la source
WEBrick
en production.alternative à la ligne de commande
$ echo $ RAILS_ENV
la source
ack