OSS探訪GitHubでログイン

Turbo Drive・Frames・StreamsをRailsへ統合してserver-rendered HTMLでSPA-like UXを作るRails integration gem

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
2,397
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/07/01
ページ内ナビ

概要

Turbo RailsはHotwire TurboをRuby on Railsへ統合するgemです。link/form navigationを高速化するDrive、pageを独立領域に分けるFrames、HTML fragmentを非同期更新するStreamsをRails helper・Action Cable・Active Jobと接続し、custom JavaScriptを減らしたinteractive UIを構築できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Turbo Driveでlink・form navigationをfetchベースに高速化する

same-origin linkやform submissionをTurboがinterceptし、full page reloadの代わりにHTML responseを取得してbody/headを更新します。server-side routeとHTML renderingを維持したままnavigation体験を高速化できます。

出典:[1]

Turbo Framesでpageの一部を独立したnavigation単位にする

turbo_frame_tag等を使ってpageをframeへ分割し、frame内link/formからその領域だけを置換できます。lazy-loadや個別cache strategyにも利用できます。

出典:[1]

Turbo StreamsをAction Cable・Active Jobと接続してHTML fragmentをbroadcastする

model change等からTurbo Streamを生成し、Action Cable経由でsubscriberへ非同期配信できます。別JSON APIやclient-side templateを用意せずserver-rendered HTML fragmentを更新に再利用できます。

出典:[1]

向いている用途

Railsのserver-side renderingを維持しながらinteractive UXを強化したい場合に向く

Rails controller/view/modelを中心に設計しつつ、SPAのようなnavigationやpartial update、realtime broadcastを追加したいapplicationに適します。Stimulusと組み合わせると局所的なclient behaviorも補えます。

出典:[1]

導入前の確認

2.0.23はRuby 3.1以上・Rails 7.1以上を要求する

v2.0.23 gemspecはRuby >= 3.1、actionpack >= 7.1.0、railties >= 7.1.0を要求します。READMEの一般的なRails 7説明よりgemspecのversion constraintを優先して環境互換性を確認してください。

出典:[3]

developmentのAction Cable async adapterはprocessをまたいでbroadcastしない

READMEはdevelopment defaultのasync adapterでは別processのconsoleからserver processへTurbo broadcastが届かない点を注意しています。realtime behaviorを検証する際はAction Cable adapterとprocess topologyを確認します。

出典:[1]

参考にした公式資料

  1. [1]Turbo Rails v2.0.23 README(2026-10-04)
  2. [2]Turbo Rails v2.0.23 release(2026-10-04)
  3. [3]Turbo Rails v2.0.23 gemspec(2026-10-04)
  4. [4]Turbo Rails v2.0.23 version metadata(2026-10-04)
  5. [5]Turbo Rails MIT license(2026-10-04)
編集部からの補足

Rails 7ではHotwireが標準構成に入りやすいですが、v2.0.23の実際のdependencyはRails 7.1+相当です。導入時はgemspecのconstraintを確認してください。

3ステップで試す

  1. 1

    既存Rails applicationへTurbo Rails 2.0.23を追加する

    Ruby 3.1+・Rails 7.1+の既存applicationへstable 2.0.23をversion固定で追加します。

    cd your-rails-app && bundle add turbo-rails --version 2.0.23
  2. 2

    Turbo integrationをapplicationへinstallする

    applicationのJavaScript構成に応じてTurboをinstallします。実行前後のGemfile・importmap/package設定差分をreviewしてください。

    cd your-rails-app && bundle exec rails turbo:install
  3. 3

    serverを起動せずgem versionを確認する

    Rails serverやAction Cable connectionを開始せず、loadされるTurbo Rails versionが2.0.23であることを確認します。

    cd your-rails-app && bundle exec ruby -e 'require "turbo/version"; puts Turbo::VERSION'
公式READMEで確認

成長

成長の推移 · 直近30日

2,397 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
30

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
2,397
Forks
362
Watchers
61
Open Issues
98
Contributors
132
所有者種別
Organization
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/07/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?