如何向除rails/actioncable中的发件人之外的所有客户端发送消息?

2024-06-29

在socket.io中,您可以向除发送者之外的所有客户端发送消息,例如:

socket.broadcast.emit('user connected');

但在 Rails/ActionCable 中,该怎么做呢?

class BoardChannel < ApplicationCable::Channel
   def subscribed
     stream_from "board:#{params[:board]}"
   end

   def speak
     # client will call @perform('speak')
     result = do_something()
     # how to send 'result' to all client except sender?
   end
 end

我整个下午都在担心这个问题。一切都准备放弃了,刚躺在床上,脑子里就闪出了一个解决办法! ! !登录以分享

 class BoardChannel < ApplicationCable::Channel
   def subscribed
     stream_from "board:#{params[:board]}"
     stream_from "global_stream"
   end
 end

然后,当您想要广播所有用户时,您可以:

ActionCable.server.broadcast "global_stream", "some messages"

当然,你也可以向特殊用户广播。你可以:

ActionCable.server.broadcast "board:#{params[:board]}", "some messages"

完美的!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向除rails/actioncable中的发件人之外的所有客户端发送消息? 的相关文章

  • Ruby 中有内置的惰性哈希吗?

    我需要用各种值填充哈希 有些值被经常访问 而另一些值则很少被访问 问题是 我使用一些计算来获取值 并且使用多个键填充哈希变得非常慢 在我的情况下 使用某种缓存不是一个选择 我想知道如何使哈希仅在第一次访问密钥时计算值 而不是在添加密钥时计算
  • 安装atomic (1.1.16) 时出错,Bundler 无法继续

    我正在尝试创建一个新的 Rails 应用程序 但在捆绑时会出现此错误 这是我第一次遇到这个错误 Gem files will remain installed in usr local rvm gems ruby 1 9 3 p448 ge
  • 对于 Windows 上 gem 中的本机扩展构建失败该怎么办?

    我下载的几个 Rails 应用程序依赖于bson ext这似乎是一个本机代码库 当我跑步时rake gems install对于该应用程序 我收到以下错误消息 ERROR Error installing bson ext ERROR Fa
  • windows 10 ruby​​2.5 Rails 5.1.5 无法加载此类文件 -- sqlite3/sqlite3_native (LoadError)

    环境 窗口 10 ruby 2 5 Rails 5 1 5 问题 无法加载这样的文件 sqlite3 sqlite3 native LoadError 我已经尝试过 gem uninstall sqlite3 和 gem install s
  • Ruby:如何将文件保存为 UTF-16 Little Endian

    我想用UTF 16 Little Endian将 保存到txt文件中 我通过一些方式进行了测试 1 下面的编码是UTF 8 RegisterMark 174 pack U file File new C Output txt w file
  • 在浏览器开发工具中看不到SignalR流量

    我构建了使用 SignalR 的服务器和客户端代码 该网站运行完美 但我无法在任何浏览器 chrome IE Firefox 中看到网络流量 我知道网络流量在那里 因为该网站正在运行 有没有办法在浏览器中查看 SignalR 流量 如果不是
  • Android 上的推送器

    我正在尝试让 Pusher 在 Android 上运行 这是我的需求 必须支持 私人 频道 必须支持安全连接 必须能够覆盖推送器 身份验证端点 注意 我已经尝试过以下路线 在 WebView 中加载 Pusher js 并让它回退到 Soc
  • 让Byebug完成执行而不退出Pry

    当我在Rails中使用Byebug设置断点时 有时我希望它完成执行 但github上的指南说使用exit这也退出了 Pry 打字continue如果断点在循环中 重复执行可能会很烦人 有没有办法在不退出 Rails 控制台的情况下停止 by
  • sidekiq 取消预定作业列表

    我有几个像这样运行的预定作业 MyWorker perform at 3 hours from now mike 1 我想知道 如果稍后 比如一个小时后 我觉得我想取消这份工作 我该怎么做 我最近编写了一些代码来处理这个问题 它可以在我的
  • 在适用于 Linux 的 Windows 子系统上安装具有本机扩展的 Ruby gem 时,是否有可靠的方法来避免权限被拒绝错误?

    我希望 WSL2 能够解决这些问题 并让这个问题在未来 6 个月左右的时间内变得过时 但与此同时 我对在我的主要笔记本电脑上运行 Windows 的前沿版本或其他预览版本感到不舒服 有时 当我安装 Ruby gems 时 bundle in
  • Rails - 使用开发数据填充测试数据库

    有没有一种简单的方法可以将数据从developmentmenet数据库复制到测试数据库中 我知道有一种方法可以复制模式并重新创建数据库 但是是否有任何 rake 任务可以用开发数据库填充测试数据库 可以直接使用mysql mysqldump
  • 在Unity .Net WebSocket中,解决SendAsync“已经是一个突出的”问题

    在 Unity with Net 中 我使用 websockets 因此作为客户端 using System Threading using System Net WebSockets async void Connect cws new
  • Rbenv 权限被拒绝问题

    将 Rails 应用程序部署到 DO Droplet 后 我 无法运行 Rails 应用程序 我部署了 并安装了所有内容 包括rbenv 下列的本指南 https gorails com deploy ubuntu 14 04 Rbenv
  • 使用 Ajax 进行 Omniauth 授权调用

    当使用我的 Rails 3 应用程序作为链接时 omniauth 工作正常 link to Connect Twitter auth twitter id gt connect to twitter 现在我想通过ajax调用 auth tw
  • Rails 从模型生成迁移

    我一直在读关于Rails 迁移 http guides rubyonrails org migrations html帮助我开始构建 Rails 项目 我对 db migrate 中文件的生成有点困惑 我设计应用程序的方式是从模型开始 尽我
  • Python Twisted WebSocket 客户端

    过去曾使用过 Twisted 我想知道是否有办法让 WebSocket 客户端支持发挥作用 浏览文档我只能找到服务器实现 塔文多高速公路 http www tavendo de autobahn 是一个非常有特色的 websockets 实
  • 如何在 ruby​​ 中解析天/小时/分钟/秒?

    是否有 gem 或其他东西可以解析 4h 30m 1d 4h 等字符串 有点像 JIRA 或任务规划器中的估计 也许具有国际化功能 发布第二个答案 因为慢性 我原来的答案建议 不会给你时间跨度 而是时间戳 这是我的解析器 class Tim
  • Hoptoad v.异常 v.异常_通知 v.异常_记录器

    以下哪种异常通知解决方案最好 卓越的 http getexceptional com Hoptoad http hoptoadapp com 异常通知 http github com rails exception notification
  • 如何通过 CLI/Ruby 系统调用捆绑安装?

    是否可以通过 ruby 系统调用运行捆绑安装 我正在尝试安装 gems 并在另一个路径下运行项目测试 例如命令是 cd some other project bundle install gem list rspec spec 理想情况下
  • 如何向 CSV 文件添加列?

    我有以下 CSV 文件 header 1 header 2 header 3 summin 1 summin 2 summin 3 summin 4 summin 5 summin 6 我如何使用 CSV 类附加一列数据 结果将如下所示 h

随机推荐