10

En mi máquina de desarrollo:rieles entorno por defecto de la consola

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

Se espera que este. Hasta aquí todo bien.

Sin embargo, en mi servidor de producción (al que he desplegado usando Capistrano), consigo exactamente el mismo resultado:

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

En cualquiera de las máquinas, lo que puedo en lugar de hacer:

$ bundle exec rails console production 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "production" 

Mi La pregunta es: en el servidor de producción, ¿no debería bundle exec rails console cargar el entorno de producción de manera predeterminada, en lugar del entorno de desarrollo? Y si no, ¿Pórque no?

+1

Es un comportamiento normal. Su aplicación simplemente no sabe dónde está en producción o en su servidor local. Eso es todo :) – alexkv

+0

Gracias. Eso solo me deja preguntándome * por qué * es un comportamiento normal; pero creo que puedo adivinar – sampablokuper

+0

Gracias. Esto respondió mi pregunta sobre cómo ejecutar la consola de rieles como producción. No sigue el mismo patrón que el servidor de rieles -e producción. – erroric

Respuesta

16

El ejecutable de los rieles no puede saber qué entorno debe ejecutarse en qué máquina.

puede poner export RAILS_ENV=production en su archivo ~/.bashrc o ~/.bash_profile del usuario con el que desea iniciar la consola.

5

RAILS_ENV es una variable como cualquier otro que siempre quedará por defecto en el desarrollo

si lo desea, siempre puede abrirse '~/.bash_profile' en el servidor de producción y añadir lo siguiente:

alias sc="bundle exec rails console production" 

luego ejecute source ~/.bash_profile para volver a cargar ese archivo para su sesión de terminal y puede simplemente llamar al sc para cargar la consola.

Cuestiones relacionadas