Плагин для подсчета посещаемости страниц в Ruby on Rails 7 июля 10
Я написал плагин для подсчета посещаемости избранных страниц Rails-приложения. Взять его можно на http://github.com/leonid-shevtsov/page_visit_tracker, там же посмотреть пример использования и краткую инструкцию.
Можно, конечно, делать это с помощью Google Analytics и вытягивать информацию оттуда, но, по-моему, это слишком сложное решение для такой простой задачи – потому-то и был написан этот плагин.
Я решил, что посещения надо привязывать к объектам модели. Поэтому
class PostsController def show # ... track_page_view(@post) end end
При этом создается новый объект PageView с данными о посещении. Повторные посещения тем же пользователем не учитываются. Посещения ботов тоже не учитываются.

Подписаться на RSS

Комментарии
по сути очень очень очень редко нужен именно такой узкий фунционал. там просмотр тем форума и т.п. но и там достаточно инкрементить счетчик, а не использовать плагин.
вообще такое решение нельзя применять при хоть сколько нибудь большой нагрузке по очевидным причинам.
теперь то что мне бросается в глаза.
page_view.rb часть с фильтер-мап-редюс. имена переменных не о чем не говорят. это плохая практика. нет комментариев.
запросы конечно очень простые, но это не дб-агностик. раз уж рельсы – сам понимаешь.
ну и вообще посылая разные юзер-эдженты можно плотно накрутить счетчик.
а так молодец.
hardcoded crawler_agents list is also a bad idea.