J'ai utilisé script/server -e production
pour démarrer Rails en mode production. Cela s'est produit 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 un page d'erreur similaire 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.
2 façons simples:
tail -f log/production.log
s'il y a des entrées qui remplissent ce journal après avoir accédé à l'application, vous êtes en mode production.
deuxième voie:
dans l'une de vos vues (probablement la mise en page est bonne), ajoutez simplement
<%= "Environment: #{Rails_ENV}" %>
Et cela vous montrera dans quel environnement vous travaillez.
modifier
Vous verrez la page d'exception par défaut au lieu des pages d'erreur réelles sur n'importe quel environnement si la demande est considérée comme "locale" (c'est-à-dire de localhost ou 127.0.0.1), vous pouvez la remplacer en l'ajoutant à votre ApplicationController
def local_request?
false
end
Vous pouvez trouver cette méthode dans la documentation dans le api
Si son Rails 3.1+, Rails.env.production?
renverra true
en production.
Rails.env.production? #=> true
Rails.env.staging? #=> false
Rails.env.development? #=> false
Pour les versions modernes Rails (3+), Rails.env
renvoie l'environnement sous la forme d'un String
:
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
Sur votre ligne de commande, tapez Rails console
, puis Rails.env
.
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:
Fonctionnement Rails s -e production
les sorties:
=> 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é.