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

Я слышал, как Кевин Скоглунд (lynda.com) сказал, что хорошей практикой является частый перезапуск Webrick во время разработки. Хотя обычно вам не нужно перезапускать Webrick, чтобы увидеть ваши изменения, он намекнул, что бывают определенные моменты, когда это может понадобиться? Кто-нибудь знает, что это за обстоятельства? Это заставило задуматься, не является ли Вебрик странным.


person pez_dispenser    schedule 05.05.2009    source источник
comment
Если вы еще этого не сделали, рассмотрите возможность перехода на Mongrel — если вы используете Rails версии 1.2.6 или более поздней, она должна быть такой же простой, как gem install mongrel (добавьте sudo для *nix), и при следующем запуске она будет подхвачена. Обычно (конечно, YMMV) дворняга значительно быстрее, чем вебрик.   -  person Mike Woodhouse    schedule 05.05.2009
comment
Спасибо. Не знал, что это так просто.   -  person pez_dispenser    schedule 05.05.2009


Ответы (2)


Если вы работаете с учебными пособиями Lynda.com, значит, вы работаете с более ранней версией Rails, чем с самой последней версией (2.3.2).

Короткий ответ: большое количество перезапусков больше не требуется при работе в среде разработки. Я думаю, что Кевин заставляет вас перезапускать сервер каждый раз, когда вы меняете объект модели, но это уже не так.

Общее эмпирическое правило: перезапускайте каждый раз, когда вы что-то меняете в папке config или lib. . . любые другие изменения кода не должны требовать перезапуска. Также рекомендуется перезапускаться при изменении файла route.rb, хотя, работая с ним сегодня, я заметил, что это не жесткое правило.

Причина всех перезапусков сервера не обязательно в том, что ваш веб-сервер (webrick, mongrel, phusion пассажир) ненадежен, а в том, что когда ваше приложение Rails запускается, в память загружаются определенные вещи, пути загрузки, инициализаторы, среда. данные. Когда вы вносите изменения в один из этих файлов, вы хотите перезапустить приложение, чтобы изменения вступили в силу (в отличие от старых вещей, которые все еще работают в памяти).

person BushyMark    schedule 05.05.2009

Вам нужно будет перезапустить, если вы измените схему базы данных или если вы добавите/измените константу.

Я думаю, что сейчас Rails по умолчанию использует Mongrel для разработки, но это все еще применимо.

person Jarrod    schedule 05.05.2009