【问题标题】:Ruby on Rails realtime activity notificationRuby on Rails 实时活动通知
【发布时间】:2015-04-16 01:07:36
【问题描述】:

我正在尝试实现一个功能,让用户了解其他用户在特定页面上的活动,例如,假设我们有一个博客,用户可以编辑博客文章,我希望当用户进入特定帖子的编辑页面,然后显示一条消息“User1,User2,...,UserN 也在编辑此帖子”。

实现这一点最简单的方法是当用户进入编辑页面时(我们可以根据我们正在渲染的控制器操作知道这一点)然后我们将这些数据存储在某种内存上(Rails.cache 是不错的选择?),当用户离开页面时,我们从内存中删除该记录(解决方案可能是使用 onunload 事件处理程序,但这对我的情况没有用,因为它跳过了几个情况,而且我正在使用 AJAX,这意味着我不会卸载整个 DOM)。 另一方面,我想使用网络套接字或 Faye .. 但是,让我们保持简短,直奔主题: 我希望它尽可能“实时”,这意味着, 我在编辑页面上,如果一些用户已经在编辑页面,最初可能会显示一条消息,当有新用户来编辑同一个帖子时,它应该被添加到消息中,如果一个人离开编辑页面,这应该从编辑页面中删除...具体问题是:

  1. 你会在 Rails 中使用什么样的内存来保存这些信息,或者你会使用 Faye + 订阅/取消订阅频道事件处理程序?
  2. 用户如何说出 3 句话:“嘿服务器,我在页面上”、“嘿服务器,我还在页面上”和“嘿服务器,我要离开这个页面”。李>

提前感谢你们的帮助!

P/D:我使用的是 Rails 3。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax websocket


    【解决方案1】:

    您可以通过 Redis 使用 ajax 请求。

    你可以在redis中设置一个key,用expiration date,用ajax你是在更新过期日期,如果用户关闭标签,key就会过期,你认为用户不再编辑。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2016-01-31
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 2013-01-04
      相关资源
      最近更新 更多