¿Cómo cargar variables de entorno en la consola de Rails?


¡Creo que esta es una pregunta fácil!

Estoy usando .env file para mantener todas mis variables de entorno, y estoy usando foreman.

Desafortunadamente, estas variables de entorno no se cargan cuando se ejecuta rails console rails c así que ahora las estoy cargando manualmente después de ejecutar la consola, que no es la mejor manera.

Me gustaría saber si hay alguna mejor manera para eso.

Author: Flip, 2013-03-12

3 answers

Hace aproximadamente un año, el comando" run " se agregó a foreman

Ref: https://github.com/ddollar/foreman/pull/121

Puede usarlo de la siguiente manera:

foreman run rails console

O

foreman run rake db:migrate

 63
Author: dquimper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-10 21:43:16

Rails no conoce las variables de entorno especificadas en .env archivo como es específico de foreman. Debe configurar el entorno explícitamente antes de invocar la consola de rails. Echa un vistazo a esta pregunta.

 2
Author: Salil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:38

Personalmente uso dotenv en entornos de desarrollo y pruebas. Con este enfoque, no tiene que poner prefijo a sus comandos, solo llame al inicializador en su config/application.rb:

Bundler.require(*Rails.groups)

Dotenv::Railtie.load

HOSTNAME = ENV['HOSTNAME']
 0
Author: Ghis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-14 10:39:48