Новичок: Являются ли фильтры подходящим местом для изменения данных ответов на основе параметров запроса? - PullRequest
1 голос
/ 15 сентября 2011

Мой вопрос очень прост: в среднем сложном веб-запросе обычно у нас достаточно информации с точки зрения параметров запроса.Во многих случаях некоторые из этих параметров таковы, что действие контроллера вообще никогда не должно интересовать, например, referrer_id (для аналитических целей), если запрос пришел от нажатия ссылки на стороннем веб-сайте или отэлектронная рассылка.

Другой пример: если вы введете следующий URL-адрес в кворе: http://www.quora.com/As-a-mobile-apps-developer-on-what-platform-should-I-choose-to-develop-and-why, вы попадете на обычную веб-страницу, однако, если вы введете тот же URL-адрес, но с (* 1005)* snids = 24082824) в конце вы получаете содержимое страницы плюс некоторое дополнительное наложение контента (в данном случае, информация о том, кто редактировал вопрос последним)

Я думаю, что это будет глупопроверить наличие и значения каждого отдельного параметра запроса в действии контроллера.Это будет означать действие в супе if-else if-else.

Фильтры кажутся намного лучшей альтернативой, чтобы разбивать и отделять все различные элементы запроса, верно?Используя фильтры, однажды можно было полностью изменить рабочий процесс за считанные секунды, не нарушая и не мешая действиям контроллера.Действия контроллера предназначены для захвата представления, основанного на шаблоне URL запроса, но фильтры обязаны изменять запрос / ответ, перехватывать, регистрировать или даже переопределять действия контроллера, если в параметре есть еще несколько параметров сахара.запрос, верно?

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Просто небольшая заметка, я бы не использовал фильтры для изменения запроса и ответа. Это возможно, учитывая, что эти объекты доступны для фильтров. Использование фильтров для мелких вещей, которые будут содержать действия в чистоте, или обеспечение контроля доступа, специфичного для приложения, звучит хорошо. Но если речь идет об изменении запроса и ответа, я бы предпочел пользовательское промежуточное программное обеспечение Rack. Ведь каждое рельсовое приложение является стоечным.

1 голос
/ 15 сентября 2011

Да, фильтры - правильный путь.

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