Rails で Hotwire を使用してモデルの更新をストリーミングしたいと考えています。ドキュメントでは、モデルを使用してストリームを作成することについて言及していますが、ユーザーが行ったモデルへの変更がそのユーザーにのみストリーミングされるように、ユーザーごとに動的ストリームを作成したいと考えています。
結合テーブルを介して多くのユーザーを持ち、それらに属する VideoCall モデルがあるため、モデルは次のようになり、そのようなブロードキャストがあります
class VideoCall < ApplicationRecord
has_and_belongs_to_many :users
broadcasts_to ->(video_call) {
video_call.users.map{|u| "video_calls:user_#{u.id}"}
}, inserts_by: :prepend
# more code here
end
追加したモデルの更新を取得したいERBテンプレート
<%= turbo_stream_from "video_calls:user_#{current_user.id}" %>
これは、users_video_calls テーブルに 1 人のユーザーがいる場合に機能します。しかし、video_call に複数のユーザーがいるとすぐに機能せず、それらすべてのユーザーのストリームにブロードキャストしたいと考えています。
私が取っているアプローチは正しいですか、複数のユーザーストリームへのブロードキャストを動的に実現するにはどうすればよいですか?