Action Cableにおけるチャンネルの動的な作り方

Action Cableで動的にチャンネルを作成したいときは、以下のように引数を渡しましょう。

App.cable.subscriptions.create { channel: "ChatChannel", user_id: user_id }


user_idが1の場合、上記のコードで以下のようなチャンネルが作成されます。

chat_channel_1


チャンネル作成はjavascript内で行われるので、user_idやroom_idなどのmodelのデータを使用するためには、rubyからjsに変数を渡す必要があります。

自分がReactのSPAでチャンネルを動的に作成したときには、Reactが呼んでいるAPIからuser_idを返すようにして、React内でチャンネルを作成しました。

短いですが今回はここまで。