アクションケーブル(Action Cable)
WebSocket通信を実現するためのフレームワーク
アクションケーブル(Action Cable)とは
WebSocket通信を実現するためのフレームワーク
例
class ChatChannel < ApplicationCable::Channel
def subscribed
@room = Chat::Room[params[:room_number]]
end
def speak(data)
@room.speak data, user: current_user
end
end
アクションケーブルの生成
説明
アクションケーブル(Action Cable)の生成
使い方
new(コネクション, 識別子, パラメータ={})
ソースコード
action-cable-urlのメタタグを生成
説明
action-cable-urlのメタタグを生成
使い方
action_cable_meta_tag()
例
<head>
<%= action_cable_meta_tag %>
<%= javascript_include_tag 'application', 'data-turbo-track' => 'reload' %>
</head>
ソースコード
ブロードキャスト
説明
ブロードキャスト
使い方
broadcast_to(モデル, メッセージ)
ソースコード
ブロードキャスト
説明
ブロードキャスト
使い方
broadcasting_for(モデル)
例
CommentsChannel.broadcasting_for("all")
ソースコード
ケーブル接続を切断したときに呼び出される
説明
ケーブル接続を切断したときに呼び出される
使い方
unsubscribed()
ソースコード
データのハッシュをサブスクライバに送信
説明
データのハッシュをサブスクライバに送信
使い方
transmit(データ, 識別子)
ソースコード
サブスクリプションが拒否されたか
説明
サブスクリプションが拒否されたか
使い方
subscription_rejected?()
ソースコード
購読確認書の送付
説明
購読確認書の送付
使い方
subscription_confirmation_sent?()
ソースコード
コンシューマーがチャンネルのサブスクライバーになると呼び出される
説明
コンシューマーがチャンネルのサブスクライバーになると呼び出される
使い方
subscribed()
ソースコード
リジェクト
説明
リジェクト
使い方
reject()
ソースコード
確認書の送付
説明
確認書の送付
使い方
ensure_confirmation_sent()
ソースコード
サブスクリプション確認の延期
説明
サブスクリプション確認の延期
使い方
defer_subscription_confirmation?()
ソースコード
サブスクリプション確認の延期
説明
サブスクリプション確認の延期
使い方
defer_subscription_confirmation!()
ソースコード
接続にサブスクリプションが追加された後に呼び出されサブスクリプションを確認または拒否
説明
接続にサブスクリプションが追加された後に呼び出されサブスクリプションを確認または拒否
使い方
subscribe_to_channel()
ソースコード
渡されたデータからアクション名を抽出しチャネル経由で処理
説明
渡されたデータからアクション名を抽出しチャネル経由で処理
使い方
perform_action(データ)
ソースコード
action_methodsを実行したときに再計算
説明
action_methodsを実行したときに再計算
使い方
clear_action_methods!()
ソースコード
新しいaction_methodが追加されるとキャッシュをリフレッシュ
説明
新しいaction_methodが追加されるとキャッシュをリフレッシュ
使い方
method_added(名前)
ソースコード
アクションメソッド名のリスト
説明
アクションメソッド名のリスト
使い方
action_methods()
例
action_methods()