调用ActionCable方法和调用API的区别

问题描述

假设我正在尝试使用 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...