【发布时间】:2016-07-14 23:34:17
【问题描述】:
我是一名新的 Rails 开发人员,并开始使用 Rails 5 中的 ActionCable 创建聊天应用程序。
问题是互联网上有很多使用 ActionCable 的聊天示例,但都非常简单。他们创建了一个频道,所有连接到该频道的用户都可以发送或阅读其他人的消息。
例如,他们创建了一个这样的聊天频道:
class ChatChannel < ApplicationCable::Channel
def subscribed
stream_from 'messages'
end
def speak(data)
ActionCable.server.broadcast('messages',
message: render_message(data['message']))
end
private
def render_message(message)
ApplicationController.render(partial: 'messages/message',
locals: { message: message })
end
end
在客户端,它们连接到该通道
App.chat = App.cable.subscriptions.create "ChatChannel",
received: (data) ->
$('#messages').append(data.message)
speak: (msg) ->
@perform 'speak', message: msg
如何为 2 个用户之间的每个对话创建一个频道?
【问题讨论】:
标签: ruby-on-rails websocket chat actioncable