2010-07-05 4 views
2

Как только я начинаю кодировать приложение rails, я по умолчанию в режиме разработки.Как изменить среду приложения для рельсов?

Что мне делать, чтобы изменить среду рельсов в тестовом или производственном режиме?

Могу ли я работать в нескольких средах одновременно?

ответ

2

для запуска приложения на тип режима производства в консоли

ruby script/server -e production 

БЕЖАТЬ ЖЕ ЗАЯВКУ НА РАЗЛИЧНЫХ ENVIORMENT вы должны использовать разные порты

как

ruby script/server -e production -p 3001 

И

ruby script/server -p 3002 
+1

, если я запускаю свое приложение в режиме производства, он дает мне ошибку, например, «сообщения в таблице недоступны» .. там, где его уже там и работал во время разработки. – Anand

+0

Проверьте свою базу данных.yml. Производственная среда, вероятно, использует другую базу данных, а затем режим разработки. «rake db: create RAILS_ENV = production», а затем «rake db: migrate RAILS_ENV = production» также должен установить db для производства. –

+0

Эти порты одинаковы! –

1

Это зависит от того, как вы используете приложение. Когда вы запускаете свои тесты, они автоматически используют тестовую среду. Если вы используете script/server (e, g, используя WEBrick, Mongrel и т. Д.), Вы можете передать имя среды, которая будет использоваться в командной строке, например. script/server -e production.

  • Если вы используете Phusion пассажира, то среда может быть определен с помощью RailsEnv configuration directive

  • Если вы используете консоль Rails затем указать имя среды непосредственно: script/console production

  • Вы можете создать ваши собственные среды тоже. This Railscast подробностями

+1

, если вы хотите запустить как разработку и производство то же самое время, вы должны изменить порт, так что 2 экземпляра не пытается использовать тот же: 'script/server -p 3001 RAILS_ENV = production' – Leventix

+0

@Leventix Хорошая точка, спасибо. –

+0

предположим, что если я запустил единичный тест, назвав блок ruby ​​/ post-test.rb, рельсы автоматически узнают, что я хочу использовать тестовую среду ... ведь мы просто запускаем рубиновый файл с помощью простой команды ruby. как можно узнать об этом рельсы? – Anand

0

script/server -e production для режима производства

больше script/server --help

Смежные вопросы