Почему Redis не работает с моим приложением Rails?

В настоящее время я использую Rails 6 и Linux mint Cinnamon 20.2, и у меня проблемы с конфигурацией / настройкой Redis в моем приложении Rails. Моя проблема в том, что мой ActionCable не работает.

Я хотел бы создать приложение для чата в реальном времени, я создал канал под названием «Комната». Вот как выглядит мой файл room_channel.js:

      import consumer from "./consumer"

consumer.subscriptions.create({ channel: "RoomChannel", room_id: 3 }, {
connected() {
   console.log('Connected successfully!')
},

disconnected() {
   // Called when the subscription has been terminated by the server
},

received(data) {
   console.log(data)
}
});

Вот мой room_channel.rb:

      class RoomChannel < ApplicationCable::Channel
def subscribed
   stream_from "room_channel_#{params[:room_id]}"
end

def unsubscribed
   # Any cleanup needed when channel is unsubscribed
end
end

Вот важный сегмент моего файла messages_controller.rb (важна команда ActionCable):

      def create
   @message = Message.new(message_params)

   @message.user = User.generate

   @message.save

   ActionCable.server.broadcast("room_channel_#{@message.room_id}",{message:"hello"})

end

Когда я присоединяюсь к комнате 3 (3 - идентификатор этой комнаты), я получаю сообщение «Подключено успешно», но когда я отправляю сообщение, оно не выводит «привет» в консоль. Это означает, что он не получает данные успешно, верно?

Что я могу сделать с Redis, чтобы получать данные?

Наконец, я изменил раздел разработки моего файла config / cable.yml на, но это ничего не решило :(.

      development:
   adapter: redis
   url: redis://localhost:6379/1

Кто-нибудь может мне с этим помочь? Спасибо за вашу помощь!

0 ответов

Другие вопросы по тегам