ruby-on-rails – 如何在Rails 3中查看用户的实时活动?

ruby-on-rails – 如何在Rails 3中查看用户的实时活动?,第1张

概述我想做的是让我的管理员用户能够实时看到(通过一些 AJAX / jQuery的好处) – 我的用户正在做什么. 我该怎么做呢? 我认为它与会话活动有关 – 我已经开始将会话保存到数据库,而不是cookie. 但一般来说,我如何获取该信息并实时解析? 我查看了我的会话表,除了id(id和session_id)之外,我看到了一个’数据’字段.该数据字段存储一个哈希 – 我无法理解(看起来像md5哈希) 我想做的是让我的管理员用户能够实时看到(通过一些 AJAX / jquery的好处) – 我的用户正在做什么.

我该怎么做呢?

我认为它与会话活动有关 – 我已经开始将会话保存到数据库,而不是cookie.

但一般来说,我如何获取该信息并实时解析?

我查看了我的会话表,除了ID(ID和session_ID)之外,我看到了一个’数据’字段.该数据字段存储一个哈希 – 我无法理解(看起来像md5哈希).

我如何使用它来看到用户A刚刚点击链接B,然后用户B点击了链接A等?

是否有宝石 – 除了rackamole – 可能能够帮助我?

解决方法 会话数据仅包含存储在session []中的值 – 来自用户的散列.它不存储调用的 *** 作/控制器,因此您不知道哪个“链接被点击”.

获取用户的活动:

除了rackamole你有两个选择恕我直言.

>在ApplicationController中使用before_filter来存储您感兴趣的相关信息.(例如,控制器名称, *** 作或URI,附加参数和登录用户的ID).
>在每个页面底部使用AJAX调用,将您感兴趣的信息(URI,登录用户的ID等)发回服务器.这样可以缩短服务器的响应时间,因为信息是在页面传送完成后存储的.另外,您不必使用Rails请求来存储它. AJAX请求也可以调用一个简单的PHP脚本将数据写入磁盘.这要快得多.

存储此活动:

将此数据/信息存储在数据库或日志文件中.数据库将提供更多灵活性,例如显示来自一个用户的所有 *** 作,或显示一个页面的所有访问者等.日志文件解决方案将为您提供更好的性能.

实时与oldschool:

至于实时提取收集的数据,您必须构建自己的解决方案.要优雅地执行此 *** 作(无需每秒查询一次服务器以查看新数据是否已到达),您将需要另一个服务器进程. Search for AJAX Push获取更多信息.

根据您的应用程序,我会问自己是否真的需要实时通知(因为设置它的所有麻烦).

要监控站点上的活动,应该有足够的页面列出最新 *** 作并手动刷新(或每十秒自动刷新一次).

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何在Rails 3中查看用户的实时活动?全部内容,希望文章能够帮你解决ruby-on-rails – 如何在Rails 3中查看用户的实时活动?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1229161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存