Я пытаюсь создать чат ActionCable, следуя руководству по actioncable на GoRails.com.
Когда я пытаюсь подключиться к ActionCable, я получаю следующую ошибку: NoMethodError - неопределенный метод `safe_constantize' для nil:NilClass
[ActionCable] [User 1] Could not execute command from
{"command"=>"subscribe", "identifier"=>"
{\"ChatroomsChannel\":\"ChatroomsChannel\",\"room_id\":1}"})
[NoMethodError - undefined method `safe_constantize' for
nil:NilClass]: /Users/Mathias/.rvm/gems/ruby-
2.2.3@chatroomv1/gems/actioncable-
5.0.0.rc2/lib/action_cable/connection/subscriptions.rb:29:in `add' |
/Users/Mathias/.rvm/gems/ruby-2.2.3@chatroomv1/gems/actioncable-
5.0.0.rc2/lib/action_cable/connection/subscriptions.rb:15:in
`execute_command' | /Users/Mathias/.rvm/gems/ruby-
2.2.3@chatroomv1/gems/actioncable-
5.0.0.rc2/lib/action_cable/connection/base.rb:88:in
`dispatch_websocket_message' | /Users/Mathias/.rvm/gems/ruby-
2.2.3@chatroomv1/gems/actioncable-
5.0.0.rc2/lib/action_cable/server/worker.rb:54:in `block in invoke' |
/Users/Mathias/.rvm/gems/ruby-2.2.3@chatroomv1/gems/actioncable-
5.0.0.rc2/lib/action_cable/server/worker.rb:39:in `block in work'
Мое приложение/каналы/chatrooms_channel.rb выглядит так:
def subscribed
@chatroom = Chatroom.find(params[:room_id])
#puts params[:room_id]
#current_user.join_room(@chatroom)
stream_from "chatrooms:#{@chatroom.id}"
# stream_from "some_channel"
end
Возможно, стоит упомянуть, что я обновился до rails 5.0.0.rc2 с rails 4.
Спасибо,
channel
в качестве ключа для имени канала, а неChatroomsChannel
, как у вас. - person Mladen Jablanović   schedule 24.08.2016