Я пытаюсь создать драгоценный камень, который предоставляет канал ActionCable, но я не могу заставить его работать.
Это мой драгоценный камень
# 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
Затем я добавляю жемчужину в свои основные приложения 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\"}"})
Что мне не хватает?