问题描述
假设我正在尝试使用 ActionCable on Ruby on Rails 制作一个简单的聊天应用程序。
在很多情况下,我看到的示例代码是这样的:
从前端调用 speak
来广播消息。
class RoomChannel < ApplicationCable::Channel
def subscribed
stream_from 'room_channel'
end
def unsubscribed
# Any cleanup needed when channel is unsubscribed
end
def speak(data)
Message.create!(body: data['message'])
ActionCable.server.broadcast 'room_channel',body: data['message']
end
end
end
但是,我相信从前端调用这个 API 会返回相同的结果,不是吗?
class MessagesController < ApplicationController
def create
Message.create!(body: params[:message])
ActionCable.server.broadcast 'room_channel',body: params[:message]
end
end
对我来说,它们看起来像是在做同样的事情,只是两种不同的方式。
我刚刚开始学习 ActionCable,我并不完全理解它们之间的区别。
它们有什么不同,正确的方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)