在 ActionCable 中未找到订阅类“MyChannel”

2024-04-07

我在使用 Action Cable 时遇到问题,每当我运行程序时,我都会收到一条错误消息:Subscription找不到类ConversationChannel

当我尝试发送消息时,我收到此日志

成功升级到WebSocket(REQUEST_METHOD:GET, HTTP_CONNECTION:升级,HTTP_UPGRADE:websocket)订阅类 未找到:“ConversationChannel”无法执行命令 {“命令”=>“消息”, "identifier"=>"{\"频道\":\"对话频道\"}", "data"=>"{\"消息\":[{\"name\":\"conversation_id\",\"value\":\"2\"},{\"name\":\"amitian_id \",\"值\":\"1\"},{\"名称\":\"body\",\"值\":\"nmm\"}],\"操作\":\ “说话\”}”}) [运行时错误 - 无法找到具有标识符的订阅: {“频道”:“对话频道”}]: C:/RailsInstaller/Ruby2.3.​​0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/subscriptions.rb:74:infind' | C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/subscriptions.rb:53:in 执行动作' | C:/RailsInstaller/Ruby2.3.​​0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/subscriptions.rb:17:inexecute_command' | C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/base.rb:88:in'dispatch_websocket_message'| C:/RailsInstaller/Ruby2.3.​​0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/server/worker.rb:58:in `调用中的块'

ConversationChannel.rb

class ConversationChannel < ApplicationCable::Channel
  def subscribed
    # stream_from "some_channel"
    stream_from "conversations-#{current_amitian.id}"
  end

  def unsubscribed
    # Any cleanup needed when channel is unsubscribed
    stop_all_streams
  end

  def speak(data)

    message_params = data['message'].each_with_object({}) do |el, hash|
      hash[el.values.first] = el.values.last
    end

    ActionCable.server.broadcast(
      "conversations-#{current_amitian.id}",
      message: message_params
    )
  end 
 end

conversation.js

App.conversation = App.cable.subscriptions.create("ConversationChannel", {
  connected: function() {

  },
  disconnected: function() {

  },
  received: function(data) {
  console.log(data['message']);
  },
  speak: function(message) {
    return this.perform('speak' , {
    message: message
    });
  }
});

$(document).on('submit', '.new_message', function(e) {
  e.preventDefault();
  var values = $(this).serializeArray();
  App.conversation.speak(values);
  $(this).trigger('reset');
});

连接.rb

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_amitian

    def connect
        self.current_amitian = find_verified_amitian
    end

    protected

    def find_verified_amitian
        if(current_amitian = env['warden'].amitian)
            current_amitian
        else
            reject_unauthorized_connection
        end
    end
  end
end

使用上面给出的日志文件谁能告诉我为什么它找不到我的conversation_channel.rb file ?


我已通过将通道文件移至一个目录来解决此问题。

From app/channels/application_cable/conversation_channel.rb to app/channels/conversation_channel.rb

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

在 ActionCable 中未找到订阅类“MyChannel” 的相关文章

随机推荐

  • 手动创建的多个数据源的事务管理

    我正在开发一个应用程序 其中我必须根据从客户端传递的客户 ID 连接到不同的数据库 所有数据库的架构都是相同的 它是一种多租户应用程序 由于我不知道会有多少客户 因此我无法使用 xml 配置静态创建数据源 因此我必须手动创建数据源 我们使用
  • 如何将 noreturn 与函数指针一起使用?

    我正在用 C11 编写引导加载程序 当引导加载程序需要将控制权转移给固件时 它会读取预定义内存地址处的函数指针并调用它 代码如下所示 typedef void FirmwareBootFn void typedef struct uint3
  • 渴望加载不同的嵌套多态

    使用 Rails 3 2 我的模型是这样嵌套的 审核 gt 可审核 国家或商店 国家 gt CountryDay gt 商店 gt 照片 商店 gt 照片 我有以下内容 reviews user reviews includes user
  • 为什么堆上的内存分配比堆栈上的内存分配慢得多?

    我已经被告知很多次了 但我不知道为什么 从堆分配内存时会涉及哪些额外成本 与硬件有关吗 与CPU周期有关吗 这么多的猜测 但没有确切的答案 有人能给我一些详细说明吗 正如 unwind 所说 Heap数据结构比Stack更复杂 在我看来 当
  • 在 Azure 移动服务控制器中添加相关数据库条目

    在我的 Azure 移动服务中 我有一个控制器类UserController TableController
  • 有没有一种方法可以用 AngularJS 进行 ng-repeat 覆盖多个数组?

    我有以下循环遍历 xa 并打印 qs a text 值 div div div div div div div div 有没有一种方法可以将这些结合起来 如下所示 div div div div div div 请注意 xa 和 xb 是始
  • 代码镜像。禁用垂直滚动条

    我目前正在使用 CodeMirror 在浏览器的文本区域中编辑代码 如果我有超过 20 行代码 它会在右侧添加一个垂直滚动条 但我不需要这个滚动条 相反 我需要编辑器大小垂直增长 有人可以帮忙吗 在 CodeMirror 3 中 有一个选项
  • 带复选框的嵌套对象 - 即使使用 Accept_nested_attributes_for 也可以进行批量分配?

    我认为应该有一个简单的解决方案来解决这个问题 因为 Rails 2 3 具有这种新奇的嵌套表单功能 基本上我想创建或更新用户并同时为他们分配角色 似乎我做的一切都是正确的 但我收到了错误警告 无法批量分配这些受保护的属性 roles atr
  • 椭圆曲线上的点数

    如果您有以下形式的椭圆曲线 y 2 x 3 a x b mod p 有没有一个好的程序来计算这条曲线上的点数 我已经阅读过有关 Schoof 和 Schoof Elkies Atkin SEA 算法的信息 但我正在寻找开源实现 有谁知道一个
  • “工具提示”不能有逻辑或视觉父级

    我有以下问题 当我尝试为切换按钮设置工具提示样式时 我不断收到 工具提示 不能有逻辑或视觉父错误 什么地方出了错 当我取出 ToggleButton ToolTip 下的工具提示控件时 它可以工作
  • 如何在 Windows 上将 Ruby 添加到 PATH 变量?

    我已经安装了 Ruby 但仍然需要将其添加到 PATH 变量中 我在网上找到了一些关于如何使用命令行手动添加它的信息 set PATH C Ruby200 x64 bin PATH 但在尝试之前 我想确保它不会覆盖 PATH 变量中当前的内
  • 打印后出现奇怪的分段错误

    写了一个简单的交换程序 效果很好 但给出了一个分段故障打印完所有内容后 include
  • WIX 3.9 及更高版本的自定义操作 RegisterComPlus 发生错误

    在 Microsoft 我们长期以来一直使用 WIX 工具集版本 3 5 2519 0 来为我们名为 System Center Service Manager 又名 SCSM 的产品构建安装程序和补丁 最近我们需要更新到 WIX Tool
  • 如何消除混淆矩阵中的白线?

    有谁知道为什么这些白线将我的混淆矩阵分成四部分 我已经更改了许多参数 但无法弄清楚 唯一让它们消失的是如果我根本不标记这些块 即 0 1 但这显然不是我想要的 任何帮助 将不胜感激 Code def plot confusion matri
  • 识别录制声音中的音符 - Python [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道是否可以使用 Python 从录制的声音中提取一系列音符 这是我第一次考虑使用 Python 来完成此任务 帮助真的很棒 您想
  • 如何在任何/所有电子表格上使用 Google Apps 脚本?

    我正在尝试使用 Google Apps 脚本实现电子表格应用程序 但我有几个问题不符合我的要求 我研究了这些问题 但未能找到答案或更好的替代方法来实现此功能 要求 编写可管理 可测试的代码 不是将脚本下载到每个电子表格中 而是以某种方式在安
  • Wicket 重定向:如何传递参数并保持 URL“漂亮”?

    考虑一个重定向到另一个页面的 Wicket 网页 基于此处省略的一些逻辑 public class SomePage extends WebPage public SomePage PageParameters parameters set
  • Python ElementTree find() 在 kml 文件中不匹配

    我正在尝试使用元素树从 kml 文件中查找元素 如下所示 from xml etree ElementTree import ElementTree tree ElementTree tree parse history 03 02 201
  • 为什么在构建视图时要指定数据上下文类?

    当使用下图所示的 添加视图 对话框向 ASP NET MVC 5 项目添加新视图时 我被邀请选择一个模板和一个模型类 这使我能够快速生成一个表单来创建模型的新实例或显示模型属性的视图 但是视图为什么要关心数据上下文类是什么 在我的项目中 无
  • 在 ActionCable 中未找到订阅类“MyChannel”

    我在使用 Action Cable 时遇到问题 每当我运行程序时 我都会收到一条错误消息 Subscription找不到类ConversationChannel 当我尝试发送消息时 我收到此日志 成功升级到WebSocket REQUEST