公式パッケージ · フレームワーク

Action Cable なしで Hotwire Turbo Streams

Rails アプリが今送っている Turbo Stream のブロードキャストを、そのまま Hibira 経由で届けます。Action Cable サーバーも Redis も Solid Cable も不要で、モデルとビューは変えずに済みます。

  • broadcasts_to、broadcast_append_to、turbo_stream_from はそのまま動きます。リクエストからでも Active Job からでも同じです。
  • 独自のプライベート/プレゼンスチャンネルへの署名、Webhook の検証、プッシュ通知トークンの発行もできます。
  • Rails 7.0〜8.1、turbo-rails 1.5〜2 に対応。

サインインすると、コード例にご自身のクラスターホストが入ります。 サインイン

  1. インストール

    bundle add hibira-rails
    bin/rails generate hibira:install
  2. 設定する

    HIBIRA_APP_ID=YOUR_APP_ID
    HIBIRA_APP_KEY=YOUR_APP_KEY
    HIBIRA_APP_SECRET=YOUR_APP_SECRET
    
    bin/rails hibira:check
  3. 使う

    class Message < ApplicationRecord
      belongs_to :room
      broadcasts_to :room
    end
    
    # app/views/rooms/show.html.erb
    # <%= turbo_stream_from @room %>

始める前に

  • アプリのシークレットは、アプリの作成時とシークレットのローテーション時に一度だけ表示されます。サーバーにだけ置き、ブラウザやゲームのビルドには入れないでください。
  • Free プランでは、ページを読み込むすべてのオリジンをアプリの許可オリジンに登録してください(開発中は http://localhost:3000、その後は自分のドメイン)。"*" は有料プランで使えます。

ダッシュボードのアプリキーを使ってください。シークレットはサーバー側だけに置きます。チャンネル、イベント、認可エンドポイントは Pusher とまったく同じように動作します。 無料でアカウントを作成 →