📕 Railsガイドが Rails 8.0.1 に対応
2024年12月にリリースされた Rails 8.0.1 に合わせ、Railsガイドも Rails 8.0.1 に対応しました!🆙✨
今回は、特にドキュメント面で多くの加筆修正が行われました。例えば『Railsをはじめよう (英名: Getting Started)』では、Rails 8の新機能 (Solid Cache/Queueなど) をキャッチアップしやすい構成に刷新されています。
本記事では、刷新されたガイドを中心に更新箇所を紹介していきます。
🛤 Rails のデフォルトが一望できるガイドに刷新
これまではブログを題材として MVC や CRUD 操作などを紹介する内容でしたが、題材を EC サイトに変更し、Rails 8.0 で `rails new` したときにデフォルトで使える機能が一望できるようになりました!具体的には、
Solid Cache によるキャッシュ機構
Solid Queue によるバッググランド処理
`rails generate authentication` による認証
Action Text によるリッチテキスト(商品説明)
Active Storage によるアップロード(商品画像)
Action Mailer を使ったメール通知(在庫通知)
I18n (国際化) を使った英語 / 日本語の両対応
Propshaft, importmap, Hotwire による CSS / JS 対応
RuboCop を使ったコードのフォーマット
Brakeman を使ったセキュリティチェック
GitHub Actions を使った CI 設定(の紹介)
Kamal を使った本番環境へのデプロイ
といった機能が一望できるように刷新されました。
詳細には踏み込まず、標準でできることの紹介に留める構成になっているため、特に、
Rails を触る予定になる Web 開発の経験者
Rails 8 のデフォルトを知りたい現役エンジニア
などの方々にとってはより短時間でキャッチアップしやすくなったのも嬉しいポイントとなりそうです。
↓ 参考: Brakeman, CI (Actions) などを簡潔に紹介している様子
なお Rails 8.0 のデフォルトがすべて紹介されているわけではなく、Solid Cable などのまだ触れられていない機能もあります。Rails Foundation によるドキュメント更新は今後も継続的に行われるため、まだ触れられていない機能についても今後紹介されるようになるかもしれません。
📑 Action Controller のガイドが2つに分割
Action Controller に関するガイドが「Action Controllerの概要」と「Action Controllerの高度なトピック」の2つに分割されました。
Action Controllerの概要は、「命名規則」「パラメータ」「複合キーパラメータ」「Strong Parameters」「cookie」「セッション」といった基本的な項目について説明されています。
Action Controller の高度なトピックでは、「CSRF対策」「ブラウザ制限」「BASIC認証、ダイジェスト認証、トークン認証」「RESTfulダウンロード」「ログでカラムをフィルタする」「HTTPSプロトコルの強制」「ヘルスチェック」「エラー処理」などについて説明されています。
📝 Active Record バリデーションの加筆修正
Active Record バリデーションはいくつかのセクションが加筆修正されました。具体的には、
バリデーションの標準機能とオプション
オブジェクトの有効性のチェック方法
条件付きバリデーション、厳密なバリデーション
などの項目が加筆修正されています。
8️⃣ Active Job ガイドが Solid Queue に対応
Active Job ガイドが、Rails 8.0 から導入された Solid Queue に対応するようになりました。構成そのものは大きく変わっていません。
8️⃣ キャッシュ機構が Solid Cache に対応
キャッシュ機構に関するガイドも、Rails 8.0 から導入された Solid Cache に対応するようになりました。また Solid Cache を使ったシャーディングなどの説明も追加されています。
✅ テストに関するガイドも更新
テストに関するガイドも、構成を整理する形で更新されました。例えば以下のような点が更新されています。
並列テストの説明を後ろに移動した
フィクスチャの説明を大項目に上げた
コントローラの機能テストが整理された
CI テストの説明が大項目に上げた
RSpec に関する記述が削除された
🔐 セキュリティガイドに認証機能が追加
Rails 8 から導入された認証機能ジェネレータによる実装例がセキュリティガイドに追加されました。また Devise に依存していた部分の説明も、認証機能ジェネレータを題材とする説明に置き換えられました。
📚 その他の更新
以下は更新が少なめのガイドです。更新が数行のガイドは省略しています。
1. Rails 7.2 リリースノート
過去のリリースに関する更新のため、この更新箇所は v7.2 や v7.1 にもバックポートされています。
2: Active Recordコールバック
3: Active Record関連付けガイド
4: コマンドラインツールガイド
5: Railsアップグレードガイド
6: Railsアプリケーションの設定項目ガイド
📕 電子書籍版も更新!
Web 版だけでなく、Rails 8.0.1 対応の電子書籍版 (PDF/EPUB 版) もリリースされました! 🎉
電子書籍版は、オフラインで閲覧したい場面や検索して調べたい場面などで便利です。無料のサンプル版もご用意しているので、まずはサンプル版で内容をご確認ください 👀✨
💖 Railsガイドの協賛も募集中
Railsガイドは多くの協賛企業による支援のおかげで継続的に更新が続けられております。また「過去バージョン閲覧機能」はこれまで有償でのみ提供しておりましたが、協賛企業の増加に伴い、2023年6月より誰でも無料で利用できるようになりました 🙏 💖
過去バージョンの URL を誰とでもシェアできるほか、Rails 7.2 と Rails 8.0 でどう変わったのか確認・検証したい場面などでも役立ちます 📕
Railsガイドでは引き続き『協賛プラン』を通して、Ruby/Rails エンジニアを支援したい協賛企業を募り、Railsガイド内でもご紹介していきます。「ちょっと気になっている」という段階からの相談も歓迎ですので、気軽にお問い合わせいただけると嬉しいです 😌✨
♻️ 今後も継続的に改善していきます
Railsガイドは日々更新を続けています。今後も継続的に更新していくので、何かあれば GitHub の yasslab/railsguides.jp まで気軽に Pull Request を送ってください! 😆✨