Разница в обработке HTTP-запроса с использованием промежуточного программного обеспечения и контроллеров - PullRequest
0 голосов
/ 02 марта 2011

Я использую Ruby on Rails 3, и я хотел бы знать, какая разница при обработке HTTP-запроса с использованием промежуточного программного обеспечения (перехват запроса URL-адреса запроса и выполнении ответа), чем поток контроллеров (с использованием respond_to).

Проверяя файл журнала, я вижу, что промежуточное ПО загружается и запрашивает почти так же, как если бы вы вызывали методы контроллера.Это связано с тем, что в последнем случае (вызывающие контроллеры) RoR не отображает файлы шаблонов (это «автоматический процесс» ?!), если HTTP-запрос предназначен для данных JSON.

Итак,о чем ты думаешь?

1 Ответ

0 голосов
/ 22 марта 2011

Одним из самых больших преимуществ использования Rack Middleware является то, что вы можете отфильтровать ответ - например, изменить его каким-либо образом и затем позволить ему идти своим обычным ходом .Взгляните на rake middleware в стандартном приложении Rails 3, чтобы увидеть весь стек промежуточного программного обеспечения, который Rails использует для таких вещей, как сеансы, флэш-память и даже маршрутизация на основе собственного routes.rb вашего приложения.Конечно, промежуточное программное обеспечение также может прекратить фильтрацию ответов и выступать в качестве конечной точки запроса, если это необходимо.

Функцией, аналогичной промежуточному программному обеспечению, но действующей в качестве конечной точки, является Rails Metal, позволяющая получить некоторые дополнительныепроизводительность вашего приложения, если это необходимо (при условии, что вам не нужен полный стек Rails).

Я рекомендую вам проверить следующие Railscasts:

...