3

如何在 Rails 中实现单个页面的当前访问者计数?

例如,一个房产网站有一个房产列表和一个备注:“目前有 6 个人正在查看该房产”,每个列表都有。

我知道印象派 gem,它能够为每个控制器记录独特的印象。只是想知道是否有比查询更好的方法

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

对于数组中的每个对象。

4

1 回答 1

1

在你被否决之前,我会给你一个如何做的想法

记录访问者属于分析领域,其中谷歌分析是最受欢迎和认可的


分析

分析系统由 3 个部分组成:

  • 捕获
  • 加工
  • 展示

捕获和处理数据的过程基本相同——在您的站点上放置一个 JS 小部件,以向服务器发送带有附加用户数据的查询。处理数据将其放入数据库


显示数据

对许多人来说,不同之处在于他们捕获的数据的显示

  • Google Analytics 在其仪表板中显示数据
  • Ebay 将数据显示为x people bought in the past hour
  • 您想显示查看项目的人数

这样做的方法是将数据的处理方面硬编码到您的应用程序中

我无法解释执行此操作的确切方法,因为它高度依赖于您的堆栈,但这是执行此操作的一般方法

于 2013-12-12T10:07:47.980 回答