Плагин для подсчета посещаемости страниц в Ruby on Rails

07 июля 2010

Я написал плагин для подсчета посещаемости избранных страниц Rails-приложения. Взять его можно на http://github.com/leonid-shevtsov/page_visit_tracker, там же посмотреть пример использования и краткую инструкцию.

Можно, конечно, делать это с помощью Google Analytics и вытягивать информацию оттуда, но, по-моему, это слишком сложное решение для такой простой задачи – потому-то и был написан этот плагин.

Я решил, что посещения надо привязывать к объектам модели. Поэтому

class PostsController
  def show
    # ...
    track_page_view(@post)
  end
end

При этом создается новый объект PageView с данными о посещении. Повторные посещения тем же пользователем не учитываются. Посещения ботов тоже не учитываются.



Два комментария. Напиши еще один
  1. 1036afb285a29282f7cf4e28dc8e8f0a # 07 июля 2010 rubyfan написал:

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

  2. 1036afb285a29282f7cf4e28dc8e8f0a # 07 июля 2010 rubyfan написал:

    hardcoded crawler_agents list is also a bad idea.

(нужна разметка?)

  • **жирный**
  • > цитата

отменить