対象バージョンをRuby 2.6/2.7系、Rails 6.0系に変更した増補改訂版。新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し,現在のトレンドとなる開発スタイルを紹介します。
■■Part1 Rails ~ overview
■1章 Ruby on Railsの概要
1-1 Railsを使う前に
1-2 Railsの思想
1-3 Railsをはじめよう!!
1-4 scaffoldを使ってRailsでの開発を体験しよう
■2章 Ruby on RailsとMVC
2-1 MVCアーキテクチャ
2-2 モデルを扱う
2-3 コントローラの役割
2-4 コントローラとビューの協調とビューテンプレートの基本
2-5 ビューテンプレートについて
■3章 押さえておきたいRailsの基本機能
3-1 テストの種類と実行方法
3-2 RackとRailsの関係
3-3 DBを管理する
3-4 秘密情報を管理する
3-5 HTTPとRailsアプリケーション
■■Part2 Railsの周辺知識
■4章 フロントエンドの開発手法
4-1 Webpackerを使ってJavaScriptを管理する
4-2 SprocketsによるCSSの管理
4-3 Railsに組み込まれているJavaScriptの機能
4-4 控えめなJavaScriptフレームワークStimulus
■5章 Rails標準の機能を活用して素早く機能実装する
5-1 Active Jobによる非同期実行
5-2 Active Storageによるファイルアップロード
5-3 Action Mailerによるメール送信
5-4 Action Mailboxによるメール受信
5-5 Action Textによるリッチテキスト機能
5-6 Action Cableによるリアルタイム通信
■■Part3 Webアプリケーション開発
■6章 Railsアプリケーション開発
6-1 イベント告知アプリケーションを作る
6-2 アプリケーションの作成と下準備
6-3 OAuthを利用して「GitHubでログイン」機能を作る
6-4 イベントの登録機能を作る
6-5 イベントの閲覧機能を作る
6-6 イベントの編集・削除機能を作る
6-7 登録されたイベントへの参加機能、参加キャンセル機能を作る
6-8 退会機能を作る
6-9 おわりに
■7章 Railsアプリケーションのテスト
7-1 テストコードをどう書いていくか
7-2 minitestとRSpec
7-3 テストデータを作成する
7-4 システムテスト
7-5 コントローラに対する機能テスト
7-6 モデルに対するテスト
■■Part4 Railsアプリケーションの拡張・運用
■8章 Railsアプリケーション拡張
8-1 ファイルアップロード機能を作る
8-2 gemで機能拡張をする
8-3 落穂ひろい
■9章 コード品質を上げる
9-1 CI(継続的インテグレーション)
9-2 Gemの定期update
9-3 静的解析
9-4 カバレッジ測定
9-5 アプリケーションパフォーマンス測定(APM)
■10章 コンテナを利用したRailsアプリケーションの運用
10-1 Railsアプリケーションのインフラ概要
10-2 基本的なDockerイメージの構築
10-3 開発環境におけるDockerの活用
10-4 環境によって可変する設定値や秘匿情報の管理
10-5 ログ出力
10-6 HTTPサーバとの通信
■■Part5 エキスパートRails
■11章 複雑なドメインを表現する
11-1 アーキテクチャパターンから見るRails
11-2 値オブジェクト
11-3 サービスオブジェクト
■12章 複雑なユースケースを実現する
12-1 ユースケースとモデル
12-2 データベースと紐づかないモデルを作る
12-3 フォームオブジェクト
12-4 プレゼンター
■13章 複雑なデータ操作を実装する
13-1 Concern
13-2 コールバックオブジェクト
■■Appendix Railsの開発環境構築
A-1 WindowsでのRubyとRails環境 514
A-2 Rubyのインストール