В моем приложении 2 типа пользователей (работник и компания).Оба типа пользователей создаются с помощью Devise.В настоящее время я пытаюсь отправить уведомление определенной компании с помощью ActionCable.
Моя главная проблема заключается в том, что при отправке уведомления каждая подписавшаяся компания получает его.Я понял, что должен каким-то образом включить идентификатор компании в название потока, но пока мне не повезло.
Я включил рабочий код, который отправляет уведомления всем компаниямниже:
notifications_channel.rb
class NotificationsChannel < ApplicationCable::Channel
def subscribed
stream_from "notifications_channel"
end
def unsubscribed
# Any cleanup needed when channel is unsubscribed
end
end
connection.rb
module ApplicationCable
class Connection < ActionCable::Connection::Base
end
end
Позвонить на номершироковещательная рассылка
ActionCable.server.broadcast 'notifications_channel', { 'My data' }
РЕДАКТИРОВАТЬ
Я регистрирую статус уведомления с помощью javascript:
notifications.js
App.notifications = App.cable.subscriptions.create("NotificationsChannel", {
connected: function() {
console.log("connected");
};
disconnected: function() {
console.log("disconnected");
};
received: function(data) {
console.log("recieved");
};
});