Я слышал, как Кевин Скоглунд (lynda.com) сказал, что хорошей практикой является частый перезапуск Webrick во время разработки. Хотя обычно вам не нужно перезапускать Webrick, чтобы увидеть ваши изменения, он намекнул, что бывают определенные моменты, когда это может понадобиться? Кто-нибудь знает, что это за обстоятельства? Это заставило задуматься, не является ли Вебрик странным.
Верно ли, что в определенные моменты вам может потребоваться перезапустить Webrick, чтобы увидеть ваши изменения?
Ответы (2)
Если вы работаете с учебными пособиями Lynda.com, значит, вы работаете с более ранней версией Rails, чем с самой последней версией (2.3.2).
Короткий ответ: большое количество перезапусков больше не требуется при работе в среде разработки. Я думаю, что Кевин заставляет вас перезапускать сервер каждый раз, когда вы меняете объект модели, но это уже не так.
Общее эмпирическое правило: перезапускайте каждый раз, когда вы что-то меняете в папке config или lib. . . любые другие изменения кода не должны требовать перезапуска. Также рекомендуется перезапускаться при изменении файла route.rb, хотя, работая с ним сегодня, я заметил, что это не жесткое правило.
Причина всех перезапусков сервера не обязательно в том, что ваш веб-сервер (webrick, mongrel, phusion пассажир) ненадежен, а в том, что когда ваше приложение Rails запускается, в память загружаются определенные вещи, пути загрузки, инициализаторы, среда. данные. Когда вы вносите изменения в один из этих файлов, вы хотите перезапустить приложение, чтобы изменения вступили в силу (в отличие от старых вещей, которые все еще работают в памяти).
Вам нужно будет перезапустить, если вы измените схему базы данных или если вы добавите/измените константу.
Я думаю, что сейчас Rails по умолчанию использует Mongrel для разработки, но это все еще применимо.
gem install mongrel
(добавьтеsudo
для *nix), и при следующем запуске она будет подхвачена. Обычно (конечно, YMMV) дворняга значительно быстрее, чем вебрик. - person Mike Woodhouse   schedule 05.05.2009