Ruby on Rails ガイド

Railsの仕組みを体系的に学べる大型コンテンツ
Rails Guides に基づいた1,600ページ超えの大型リファレンスです。
プロダクト開発に役立つ実践的な知識が満載
Railsチュートリアルを完走し、プロダクト開発中の人に最適です。
全文検索やバージョン毎の検索にも対応
Proプランでは、さらに効率的な活用をサポートします。

Railsガイドは協賛企業からのサポートを得て運営されています。(» 詳細を見る

このアイコンが付いているガイドは現在作業中 (WIP: Work In Progress) です。作業中のガイドはそれなりに有用ではありますが、不完全な情報やエラーが含まれている可能性があります。

はじめに

Rails をはじめよう

Railsのインストール方法と最初のRailsアプリケーションの作成に必要なすべてを解説します。

モデル

Active Record の基礎

Active Recordの基礎となるモデル、データベースへの永続的な保存、Active Recordパターンとライブラリについて解説します。

Active Record マイグレーション

Active Recordのマイグレーション (migration) を使用して、データベースを構造化された方法で整然と変更する方法について解説します。

Active Record バリデーション

Active Recordのバリデーション機能について解説します。

Active Record コールバック

Active Recordのコールバックについて解説します。

Active Record の関連付け

Active Recordが提供するすべての関連付け機能(アソシエーション)について解説します。

Active Record クエリインターフェイス

Active Recordが提供するすべてのデータベースクエリインターフェイスについて解説します。

Active Record と PostgreSQL
Work in progress

PostgreSQLに特化したActive Recordの利用法について解説します。

Active Record と暗号化
Work in progress

Active Recordを用いてデータベースの情報を暗号化する方法について解説します。

Active Record の複数データベース対応

Active Recordで複数のデータベースを利用する方法について説明します。

Active Record の複合主キー

データベースのテーブルに複合主キーを導入する方法について解説します。

Active Model の基礎
Work in progress

Active Recordを使わずにモデルクラスを扱う方法について解説します。

ビュー

Action View の概要
Work in progress

Action Viewの概要を紹介し、共通のビューヘルパーについてもある程度解説します。

レイアウトとレンダリング

Action ControllerとAction Viewが提供する基本的なレイアウト機能について解説します。画面出力 (レンダリング) とリダイレクト、content_forブロックとパーシャル (部分テンプレート) の使用方法についても解説します。

Action View ヘルパー

Action Viewで提供されるヘルパーの概要について解説します。

Action View フォームヘルパー

ビルトインのフォームヘルパーについて解説します。

コントローラ

Action Controller の概要

本ガイドでは、コントローラの動作と、アプリケーションのリクエストサイクルでコントローラがどのように使われるかについて説明します。セッション、フィルタ、cookie、データストリーミング、リクエストによって発生する例外、その他多くの話題を取り扱っています。

Rails のルーティング

Railsのルーティング機能について解説します。Railsアプリケーションで行われているルーティングのしくみについて理解したい場合は、ここからお読みください。

他の構成要素

Active Support コア拡張機能

Active Supportで定義されているRubyのコア拡張機能に関するドキュメントです。

Action Mailer の基礎

Action Mailerを使用してメールを送受信する方法について解説します。

Action Mailbox の基礎
Work in progress

Action Mailboxを使ってメールを受信する方法について解説します。

Action Text の概要
Work in progress

Action Text を使ったリッチテキスト形式のデータの取り扱い方法について解説します。

Active Job の基礎

バックグラウンドで動作するジョブの作成・キュー送信・実行方法に必要なすべてを解説します。

Active Storage の概要

Active Record のモデルにファイルを添付する方法について解説します。

Action Cable の概要

リアルタイム機能を実現するAction Cableの動作と、WebSocketsの利用法について解説します。

Webpacker の概要

Railsがラップするwebpackビルドシステム「Webpacker」について解説します。

高度なトピック

Rails 国際化(I18n)API

Railsアプリケーションを国際化する方法について解説します。これによりアプリケーションを異なる言語に翻訳することができ、さらに単数形/複数形ルールを変更したり、その国に適した日付フォーマットを設定したりできます。

Rails テスティングガイド

Railsでさまざまなテストを実行するための総合的な解説を行います。「テスティングとは何か」から結合テストまですべてのトピックを扱います。

Rails セキュリティガイド

Webアプリケーション全般におけるセキュリティ問題と、Railsでこれらの問題を回避する方法について解説します。

Rails アプリケーションのエラー通知

Railsアプリケーションで発生する例外を管理する方法について解説します。

Rails アプリケーションのデバッグ

Railsアプリケーションのデバッグ方法について解説します。さまざまなデバッグ方法や、作成したコードの舞台裏でどのような動作が行われているかについても解説します。

Rails アプリケーションの設定項目

Railsアプリケーションの基本的な設定方法(Config:コンフィグ)について解説します。

コマンドラインツール

Railsが提供する各種コマンドラインツールについて解説します。

アセットパイプライン

アセットパイプラインに関するドキュメントです。

Rails で JavaScript を利用する

importmapやjsbundling-railsを用いてRaisアプリケーションにJavaScriptを組み込む方法を解説します。RailsでTurboを使う基本的な方法についても解説します。

Rails の初期化プロセス
Work in progress

Rails 内部の初期化プロセスについて解説します。

Rails の自動読み込みと再読み込み

Rails 内部の自動読み込みや再読み込みの動作について解説します。

Classic から Zeitwerk への移行

Rails アプリケーションを Classic モードから Zeitwerk モードに移行する手順を解説します。

Rails のキャッシュ機構

キャッシュを活用してRailsを高速化する方法について解説します。

Active Support Instrumentation で計測
Work in progress

RailsなどのRubyコード内のイベント測定に使う、Active Support内のInstrumentation APIについて解説します。

Rails アプリケーションのテンプレート
Work in progress

テンプレートを使って生成/カスタマイズを行う方法や、テンプレートAPIを使って再利用可能なテンプレートを開発する方法について解説します。

Rails による API 専用アプリケーション

JSON APIアプリケーションをRailsで効果的に作成する方法を解説します。

Rails を拡張する

Rails プラグイン作成入門
Work in progress

プラグインを作成してRailsの機能を拡張する方法について解説します。

Rails と Rack

RailsとRackがどのように統合されているか、および他のRackコンポーネントとのインターフェイスについて解説します。

Rails ジェネレータとテンプレート入門

新しいジェネレータを拡張に追加したり、ビルトインのRailsジェネレータの要素に別の要素を提供したりする方法 (scaffoldジェネレータに別のテストスタブを提供するなど) について解説します。

Rails エンジン入門
Work in progress

マウント可能なエンジンの作成方法について解説します。

Rails のスレッドとコード実行
Work in progress

Railsアプリケーションの並行性について考慮すべきことや利用可能なツールについて解説します。

Ruby on Rails に貢献する

Ruby on Rails に貢献する方法

Railsは「どこかで誰かがうまくやってくれているフレームワーク」ではありません。現在も継続しているRailsフレームワーク開発に貢献するさまざまな方法について解説します。

Rails コア開発環境の構築方法

Ruby on Rails自体の開発環境を構築する方法について解説します。

API ドキュメント作成ガイドライン

Ruby on Rails APIドキュメントのガイドラインについて解説します。

Rails ガイドのガイドライン

Ruby on Railsガイド作成方法のガイドラインです。

メンテナンスポリシー

Ruby on Rails のメンテナンスポリシー

現在サポートされているRuby on Railsのバージョンと、次期バージョンのリリース見込み時期について記載されています。

リリースノート

Rails アップグレードガイド

アプリケーションのRuby on Railsを最新バージョンにアップグレードする方法について解説します。

Rails 7.1 - 2023/10

Rails 7.1のリリースノートです。

Rails 7.0 - 2021/12

Rails 7.0のリリースノートです。

Rails 6.1 - 2020/12

Rails 6.1のリリースノートです。

Rails 6.0 - 2019/08

Rails 6.0のリリースノートです。

Rails 5.2 - 2018/04

Rails 5.2のリリースノートです。

Rails 5.1 - 2017/04

Rails 5.1のリリースノートです。

Rails 5.0 - 2016/06

Rails 5.0のリリースノートです。

Rails 4.2 - 2014/12

Rails 4.2のリリースノートです。

Rails 4.1 - 2014/04

Rails 4.1のリリースノートです。

Rails 4.0 - 2013/06

Rails 4.0のリリースノートです。

Rails 3.2 - 2012/01

Rails 3.2のリリースノートです。

Rails 3.1 - 2011/08

Rails 3.1のリリースノートです。

Rails 3.0 - 2010/08

Rails 3.0のリリースノートです。

Rails 2.3 - 2009/03

Rails 2.3のリリースノートです。

Rails 2.2 - 2008/11

Rails 2.2のリリースノートです。

協力・関連

本サイトは、様々な支援によって支えられております。

フィードバックについて

Railsガイドは GitHub の yasslab/railsguides.jp で管理・公開されております。本ガイドを読んで気になる文章や間違ったコードを見かけたら、気軽に Pull Request を出して頂けると嬉しいです。Pull Request の送り方については GitHub の README をご参照ください。

原著における間違いを見つけたら『Rails のドキュメントに貢献する』を参考にしながらぜひ Rails コミュニティに貢献してみてください 🛠💨✨

本ガイドの品質向上に向けて、皆さまのご協力が得られれば嬉しいです。

Railsガイド運営チーム (@RailsGuidesJP)

支援・協賛

Railsガイドは下記の協賛企業から継続的な支援を受けています。支援・協賛にご興味あれば協賛プランからお問い合わせいただけると嬉しいです。

  1. Star
  2. このエントリーをはてなブックマークに追加