Среда консоли Rails по умолчанию

На моей машине разработки:

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

Это ожидаемо. Все идет нормально.

Тем не менее, на моем рабочем сервере (на котором я развернулся с помощью Capistrano) я получаю точно такой же результат:

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

На любой машине я могу вместо этого сделать:

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

Мой вопрос: на рабочем сервере не следует ли bundle exec rails console загружать производственную среду по умолчанию вместо среды разработки? И если нет, то почему?


person Community    schedule 29.05.2012    source источник
comment
Спасибо. Это ответило на мой вопрос о том, как запустить консоль rails в качестве производства. Он не следует той же схеме, что и rails server -e production.   -  person erroric    schedule 09.07.2013


Ответы (2)


Исполняемый файл rails не может знать, какая среда должна работать на какой машине.

вы можете поместить export RAILS_ENV=production в свой файл ~/.bashrc или ~/.bash_profile пользователя, с которым вы хотите запустить консоль.

person jigfox    schedule 29.05.2012

RAILS_ENV — это переменная, как и любая другая, которая по умолчанию всегда будет использоваться для разработки.

если хотите, вы всегда можете открыть «~/.bash_profile» на рабочем сервере и добавить это:

 alias sc="bundle exec rails console production"

затем запустите source ~/.bash_profile, чтобы перезагрузить этот файл для сеанса терминала, и вы можете просто вызвать sc, чтобы загрузить консоль.

person TomDunning    schedule 29.05.2012