Что происходит, когда я запускаю сервер rails локально? - PullRequest
1 голос
/ 05 ноября 2011

Я изучаю Ruby on Rails. В настоящее время я делаю базовые разработки на моей локальной машине. Что происходит, когда я запускаю rails server в терминале (OS X)? Я просто хотел бы понять, что делает архитектура Rails и какие сценарии Ruby выполняются.

1 Ответ

3 голосов
/ 05 ноября 2011

Одна из функций rails server заключается в том, что он загружает все зависимости / гемы, требуемые вашим Rails-приложением, или, по крайней мере, настраивает их для автоматической загрузки позже, когда они необходимы.Это иногда называется «загрузкой» или загрузкой «среды Rails».Это также делается, когда вы запускаете другие команды rails , такие как rails console или rails runner.

. Также запускается веб-сервер с именем WebRick.Веб-сервер представляет собой фрагмент кода ruby, который при запуске привязывает себя к порту (по умолчанию порт 3000) на вашем компьютере и начинает прослушивать входящие HTTP-запросы на этот порт.

Когда приходит запрос(например, HTTP-запрос GET пользователя, загружающего вашу страницу), веб-сервер работает вместе с направляющими для обработки запроса.Я не уверен точно, как распределяется работа, но веб-сервер должен позаботиться о вещах более низкого уровня, таких как чтение заголовков HTTP, и рельсы должны позаботиться о том, чтобы определить, к какому контроллеру и действию направить запрос (используя ваши маршрутыфайл .rb).Я думаю, что компонент rails, который выполняет эту работу, называется action_dispatch, и он находится в геме actionpack.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...