ruby-on-rails – ActionCable – 如何显示已连接用户的数量?
发布时间:2020-12-16 22:02:46 所属栏目:百科 来源:网络整理
导读:我试图用Action Cable创建一个简单的聊天应用程序(规划扑克应用程序).我有点混淆了术语,文件层次结构以及回调的工作原理. 这是创建用户会话的操作: class SessionsController ApplicationController def create cookies.signed[:username] = params[:sessio
我试图用Action Cable创建一个简单的聊天应用程序(规划扑克应用程序).我有点混淆了术语,文件层次结构以及回调的工作原理.
这是创建用户会话的操作: class SessionsController < ApplicationController def create cookies.signed[:username] = params[:session][:username] redirect_to votes_path end end 然后,用户可以发布应该向所有人广播的投票: class VotesController < ApplicationController def create ActionCable.server.broadcast 'poker',vote: params[:vote][:body],username: cookies.signed[:username] head :ok end end 到目前为止,一切都对我来说很清楚,工作正常.问题是 – 如何显示已连接用户的数量?当用户(消费者?)连接时,JS中是否有回调?我想要的是当我在无痕模式下在3种不同浏览器中打开3个标签时,我想显示“3”.当新用户连接时,我想要增加数字.如果任何用户断开连接,则数字应该递减. 我的扑克频道: class PokerChannel < ApplicationCable::Channel def subscribed stream_from 'poker' end end 应用程序/资产/ Java脚本/ poker.coffee: App.poker = App.cable.subscriptions.create 'PokerChannel',received: (data) -> $('#votes').append @renderMessage(data) renderMessage: (data) -> "<p><b>[#{data.username}]:</b> #{data.vote}</p>" 解决方法
似乎有一种方法是使用
ActionCable.server.connections.length (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控
- C#最小化winform程序到系统托盘的代码
- Acitivity中找不到或者不识别相对应的xml布局文件
- 在Ruby中获取整数数组的最小公倍数
- ruby-on-rails – 将String转换为DateTime Ruby
- c# – 通过获取原始实体Linq到Collections Group
- c# – 为什么SHA256的所有变体都显示为SHA256Managed?
- ruby-on-rails – 使用delayed_job的NotImplementedError(使
- u-boot 学习之启动过程完全分析
- glsl – 倒置顶点着色器(GLES)