Действие Кабельная подписка не учитывается - PullRequest
0 голосов
/ 14 января 2019

Я работаю над приложением чата в реальном времени и не могу заставить работать Action Cable. Я следовал за документацией , но я должен что-то упустить.

Вот мой код:

  #groups_channel.rb
    class GroupsChannel < ApplicationCable::Channel
     def subscribed
       stream_from "group_#{params[:group_id]}"
     end
    end



#<!-- app/views/groups/show.html.erb -->
<!-- ... -->
 <% content_for :after_js do %>
    <script>
    App['group_<%= @group.id %>'] = App.cable.subscriptions.create(
  { channel: 'GroupsChannel', group_id: <%= @group.id %> },
  { received: (data) => { 
        const messagesContainer = document.querySelector('.messages-tab-content');
        messagesContainer.insertAdjacentHTML('beforeend', data.message_box);
        scrollLastMessageIntoView();

    })
  </script>
<% end %>


   # app/models/message.rb
    class Message < ApplicationRecord
      after_create :broadcast_message
      # ...
     def broadcast_message
    ActionCable.server.broadcast("group_#{self.group.id}", {
      message_partial: ApplicationController.renderer.render(
         partial: "groups/message_box",
        locals: { message: self }
      ),
    })
     end
    end

Вот что у меня в консоли. Кажется, подписки нет, хотя я заставляю кабельную подписку на строку выше.

enter image description here

Любые выводы будут действительно полезны.

...