我在使用Action Cable时遇到问题,每当我运行我的程序时,我都会收到一条错误,指出Subscription
找不到ClassConversationChannel
当我尝试发送消息时,我得到了这个日志
已成功升级到WebSocket(REQUEST_METHOD:GET,HTTP_CONNECTION:Upgrade,HTTP_UPGRADE:websocket)未找到订阅类:"ConversationChannel"无法从{"command"=>"message","identifier"=>"{\"channel执行命令\":\"ConversationChannel \"}","data"=>"{\"message \":[{\"name \":\"conversation_id \",\"value \":\"2 \"} {\ "名称\":\ "amitian_id \",\ "值\":\ "1 \"},{\ "名称\":\ "身体\",\ "值\":\"NMM\"}],\"action \":\"speak \"}"}} [RuntimeError - 无法找到带标识符的订阅:{"channel":"ConversationChannel"}]:C:/RailsInstaller/Ruby2.3.0/lib /ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/subscriptions.rb:74:in
find' | C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.1/lib/action_cable/connection/subscriptions.rb:53:in
perform_action'| 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:在`block in invoke'中
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}", …
Run Code Online (Sandbox Code Playgroud) ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 actioncable
我正在使用与默认的puma服务器一起工作的rails 5并收听localhost:3000
我希望它监听新的端口,例如192.168.0.0:3000
有人可以帮忙吗?谢谢