加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 检查用户是否实时在线

发布时间:2020-12-17 03:42:36 所属栏目:百科 来源:网络整理
导读:我想在此时检查用户是否在线.这应该显示在用户配置文件中. 我在application_controller中得到了这个 after_filter :user_activityprivate def user_activity current_user.try :touch end 我在用户模型中定义了这个 def online? updated_at 10.minutes.agoen
我想在此时检查用户是否在线.这应该显示在用户配置文件中.

我在application_controller中得到了这个

after_filter :user_activity

private

  def user_activity
    current_user.try :touch
  end

我在用户模型中定义了这个

def online?
 updated_at > 10.minutes.ago
end

如果用户在线,我可以查看视图:(HAML)

- if @user.online?

这有效,但总是需要重新加载更新此信息所需的页面.
它如何成为实时检查?
也许使用ActionCable?

PS:使用设计

解决方法

是的,可以使用Action Cable. Rails指南有一半的例子: Action Cable Overview — 6.1 Example 1: User Appearance

基本上,您创建了一个AppearanceChannel,并且每个用户都订阅了它.订阅调用current_user的emernd函数,然后可以通过诸如BroadcastAppearanceJob之类的后台作业将其广播出去(例如,向其他用户显示在线状态).(我刚刚开始研究这个问题).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读