我试图创建一个暴露一个ActionCable通道的gem,但是我不能让它工作.
这是我的宝石
# lib/my_channel.rb class MyChannel < ActionCable::Channel::Base def wait(data) # logic ... end end # lib/engine.rb module MyApp class Engine < ::Rails::Engine isolate_namespace MyApp end end
然后我将gem添加到我的主应用程序Gemfile中,运行bundle install,启动控制台并运行MyChannel.哪个不产生和错误,这意味着通道被正确包括在内.
然后我将其添加到我的主要应用程序
// application.js var socket = "ws://localhost:3000/cable"; var cable = ActionCable.createConsumer(socket); cable.subscriptions.create({ "channel": "MyChannel" },{ received: function(){ // ... } });
但是我收到这个错误
Subscription class not found ({"command"=>"subscribe","identifier"=>"{\"channel\":\"MyChannel\"}"})
我失踪了什么