【发布时间】:2016-07-15 14:50:31
【问题描述】:
我能找到的所有示例都是订阅一个房间,但如果我有房间 A、B 和 C 并且我(作为用户)都在其中。
【问题讨论】:
-
是什么阻止了你只做三遍?
App.cable.subscriptions.create { channel: "ChatChannel", room: "RoomA" }App.cable.subscriptions.create { channel: "ChatChannel", room: "RoomB" }App.cable.subscriptions.create { channel: "ChatChannel", room: "RoomC" } -
房间来自数据库,所以我无法对其进行硬编码。我必须动态创建 JS -.- 必须有更简单的方法
-
您不需要在 JavaScript 文件中进行硬编码。您可以在 javascript 中获取房间列表。有很多方法可以做到这一点。您可以使用 js.erb 将它们渲染成 js。或者您可以对服务器进行 ajax 调用并接收可用聊天室的列表。您要的不是 Rails 或 Action Cable 问题。它的基本服务器客户端架构以及它如何使用 AJAX 进行交互。
标签: ruby-on-rails chat actioncable