| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Ruby: Общие вопросы > Routing |
| Автор: PFOcChKen 6.2.2007, 15:05 |
| Здравствуйте, уважаемые форумчане. У меня к вам такой вопрос: от клиента приходит запрос, в файле routes.rb поисходит обработка этого запроса и перенаправление его на нужный контроллер. А можно ли где-то обрабатывать каждый запрос, который приходит, чтобы ну скажем делать какие-нить проверки, то есть в файл routes.rb вставить что-то на подобие глобального before_filter и выполнять в нём какие-нить действия. То есть нужен глобальный перехват request, и его обработка. Подскажите как такое можно реализовать и где можно вставить подобный фильтр. Заранее спасибо за ответы. P.S.: Вставка подобного фильтра в application_controller не подходит... |
| Автор: PFOcChKen 8.2.2007, 15:44 |
| Народ!!! Ну ответьте хоть что-нить, может какие-нить подходы, никто не сталкивался с подобной задачей? Или мне как-то уточнить вопрос и он совсем не понятен? |
| Автор: max_lapshin 28.2.2007, 16:43 |
| Вопрос не понятен. Ответ скорее всего будет таков: почитать исходники, благо они очень понятные. |
| Автор: Alone 2.3.2007, 17:59 |
| поясните детальнее вопрос, ибо непонятно что именно скрыто под обработкой реквеста. ну, какого рода действия? вам на этом этапе реквест нужен для анализа или для изменения содержимого? |
| Автор: PFOcChKen 6.3.2007, 13:26 |
| Впринципе проблему решил в итоге через application_controller, повесил в нём фильтр с функцией которая проверяет реквест(так как от него наследуются почти все контроллеры, то он и вызывается каждый раз при обращении, что и требуется...), но как-то некрасиво это... А задача была такая: есть поступающие от юзера реквесты, требуется сделать анализ реквеста - ну например, насколько часто юзер обращается к тому или иному адресу, если юзер проходит проверку, то счётчик для этого юзера увеливается на 1. Условия на соответствие поступающего реквеста, тем которые необходимы хранятся в yml-файле ввиде регулярных выражений. Вот и требуется как-то перехватывать абсолютно все реквесты, чтоб иметь возможность их обрабатывать. Может знает кто более элегантное решение, чем через application_controller? Задача впринципе решена, но интересно на будущее. Заранее спасибо за ответы. |
| Автор: max_lapshin 6.3.2007, 18:52 |
| Именно там этому и место. А задачу надо озвучивать заранее вместо того, что бы пытаться выяснить, как реализовать ее решение. |