Текущее количество посетителей Rails

Как реализовать текущее количество посетителей для отдельных страниц в Rails?

Например, на веб-сайте недвижимости есть список свойств и примечание, в котором говорится: «В настоящее время 6 человек просматривают это свойство» для каждого отдельного объявления.

Я знаю о жемчужине импрессионистов, которая может регистрировать уникальные впечатления для каждого контроллера. Просто интересно, есть ли лучший способ, чем запрос

impressions.where("created_at <= ?", 5.minutes.ago).count 

для каждого объекта в массиве.


person Ryan.lay    schedule 12.12.2013    source источник
comment
Я не думаю, что этот запрос вернет то, что вы хотите - показ может быть создан 5 минут назад, но пользователь все еще смотрит ваш контент.   -  person Laurent    schedule 23.06.2015


Ответы (1)


Прежде чем вас заминусуют, я дам вам представление о том, как это сделать.

Запись посетителей относится к сфере аналитики, из которых Google Analytics является самой популярной и признанной.


Аналитика

Системы аналитики работают с 3 частями:

  • Захватывать
  • Обработка
  • Отображать

Процесс сбора и обработки данных в основном одинаков — поместите виджет JS на свой сайт, чтобы отправить запрос на сервер с прикрепленными пользовательскими данными. Обработка данных помещает их в вашу базу данных


Отображение данных

Разница для многих людей заключается в отображении данных, которые они собирают.

  • Google Analytics отображает данные на своей панели инструментов.
  • Ebay отображает данные как x people bought in the past hour
  • Вы хотите показать количество людей, просматривающих элемент

Способ сделать это — жестко закодировать аспект обработки данных в вашем приложении.

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

person Richard Peck    schedule 12.12.2013
comment
Спасибо Рич! Я только начал программировать около 6 месяцев назад, и все это все еще в новинку для меня. Большое спасибо, что нашли время ответить. - person Ryan.lay; 12.12.2013
comment
Я знаю о Google Analytics (расплывчато). Просто интересно, есть ли способ Rails отслеживать текущее количество посетителей, чтобы я мог минимизировать внешние зависимости. - person Ryan.lay; 12.12.2013
comment
Я привел GA только в качестве примера того, как это будет работать. У вас есть выбор: использовать собственную аналитику (то, чем мы сейчас занимаемся — можем рассказать вам больше о программировании, если интересно) или использовать одну из готовых систем. - person Richard Peck; 12.12.2013
comment
Как продвигается программирование спустя 6 месяцев? - person Richard Peck; 12.12.2013
comment
Мучительно! Но чрезвычайно полезно. Я не знаю, что бы я делал, если бы не Stackoverflow! - person Ryan.lay; 13.12.2013