📕 Railsガイドが Rails 7.0 に対応
2021年12月にリリースされた Rails 7.0 に合わせて、Railsガイドも Rails 7.0 に対応しました! 🆕✨
大きな変更のあったコンテンツは以下の通りです。新規ガイドには 🆕 を付けています。WIP の部分もありますが、更新箇所の全体像を把握する際のご参考になれば幸いです 😌✨
🆕 追記: Rails 7.1 にも対応しました!
🆕 Rails 7.0 リリースノート
Rails 7.0 の主要な機能、変更点などがまとめられています。まだ WIP の箇所が多いので、随時更新していきます。詳細: yasslab/railsguides.jp#1111
Rails アップグレードガイド
Rails 6.1 から Rails 7.0 へのアップグレードガイドが追加されました。詳細: yasslab/railsguides.jp#1102
Rails をはじめよう
題材としているブログアプリが Rails 7.0 に対応しました。詳細: yasslab/railsguides.jp#1110
Active Model の基礎
細かな表記揺れ、コードの実行例が更新されました。詳細: yasslab/railsguides.jp/pull/1133
Active Record の基礎
細かな表記揺れ、文章の表現が修正されました。詳細: yasslab/railsguides.jp/pull/1132
Active Record マイグレーション
add_reference メソッドや冪等性に関する補足が追加されました。詳細: yasslab/railsguides.jp#1124
Active Record コールバック
利用できるメソッドの説明と、その API へのリンクが追加されました(例: after_[create|destroy|save|update]_commit など)。詳細: https://github.com/yasslab/railsguides.jp/pull/1137
Active Record クエリインターフェイス
利用できるメソッドの説明と、その API へのリンクが追加されました。各メソッドの例題は Client → Customer などに変更され、find_in_batches や eager_load の説明が追加されています。詳細: yasslab/railsguides.jp/pull/1127
Active Record と PostgreSQL
データ型 (interval) の説明や、生成列・全文検索などのコード例が追加されました。詳細: yasslab/railsguides.jp#1108
🆕 Active Record と暗号化
Active Record でデータベース暗号化をセットアップする方法、暗号化されていないデータを移行する方法、複数の暗号化スキームを共存させる方法などの解説ガイドが追加されました。詳細: yasslab/railsguides.jp#1107
Active Record で複数のデータベース利用
データベースの設定例、シャードの自動切替、データベース間のJOINなどに関する説明が追加されました。詳細: yasslab/railsguides.jp#1117
Action View フォームヘルパー
古くなったコード例が更新されました。また、セレクトボックスやタイムゾーン、ヘルパーメソッドの説明が追記されました。詳細: yasslab/railsguides.jp/pull/1130
🆕 Action View ヘルパー
上記の Action View フォームヘルパーに加えて、Action View が取り扱う各種モジュール (BenchmarkHelper、JavaScriptHelper など) を説明するガイドです。詳細: yasslab/railsguides.jp#1106
Action Mailer の基礎
メール送信時やメールプレビュー時、Action Mailer 設定時に使えるオプションの説明などが追加されました。詳細: yasslab/railsguides.jp#1120
Action Text の概要
リッチテキストエディターの設置方法、添付ファイルの描画方法、N+1 の回避方法、API 連携の組み込み方法などについて追記されました。詳細: yasslab/railsguides.jp/pull/1123
Active Storage の概要
Active Storage が依存しているライブラリ (ffmpeg など) の説明や、DigitalOcean / Azure / Google Cloud Storage の対応例、Proxy や CDN の配置例などが追加されました。詳細: yasslab/railsguides.jp#1105
Active Support の Instrumentation 機能
イベントの購読(Subscribe)や、Active Job のメソッド(enqueue.active_job など)の説明が追記されました。詳細: yasslab/railsguides.jp/pull/1128
Webpacker の概要
細かな表現の修正、古くなった表の削除などが行われました。詳細: yasslab/railsguides.jp#1118
Rails テスティングガイド
並列トランザクションのテスト、閾値の設定例、ファイル添付の仕方、さまざまな画面サイズでのテストなどが追加されました。詳細: yasslab/railsguides.jp#1115
Rails セキュリティガイド
古くなったコード例の削除、Kernel#open 脆弱性の追加、細かなリンク切れの修正などが行われました。詳細: yasslab/railsguides.jp#1119
Rails アプリケーションを設定する
Rails 全般の設定 (config.* など) や、ミドルウェアの設定、i18n の設定などが大幅に追加・更新されました。詳細: yasslab/railsguides.jp#1104
アセットパイプライン
古くなった説明セクションやコード例が削除・更新されました。詳細: yasslab/railsguides.jp/pull/1136
Rails で JavaScript を利用する
古くなった JavaScript のコード例や、form_with を使った例題が一新されました。また、末尾にある「学習に役立つリンク集」も更新されました。詳細: yasslab/railsguides.jp/pull/1130
定数の自動読み込みと再読み込み (Zeitwerk)
config.autoload_once_paths や load_path、アプリケーション起動時の自動読込、String#camelize のカスタマイズ例、Railsエンジンや手動/自動テストとの関係性の解説などが追加されました。詳細: yasslab/railsguides.jp#1109
🆕 Classic から Zeitwerk への移行
Rails 5 まで使われていた Classic モードから、Rails 6 以降で使われる Zeitwerk モードへの移行方法、および両モードの違いや移行背景を解説するガイドです。詳細: yasslab/railsguides.jp#1093
Ruby on Rails のメンテナンスポリシー
Rails 7.0 リリースに伴い、メンテナンスポリシーが更新されました。詳細: yasslab/railsguides.jp#1116
メンテナンスポリシーから一部抜粋
📕 電子書籍版も公開!
Web版の更新にあわせて Rails 7.0 対応の電子書籍もリリースしました 🎉
電子書籍版では、オフラインでの閲覧や検索機能がお使いいただけます。無料のサンプル版もあるので、まずはサンプル版で内容をご確認ください 👀✨
また、上記の電子書籍版以外にも、Webブラウザ上で全文検索やバージョン切替ができるProプランも提供しています。より快適にRailsガイドを利用したい場面でご検討していただけると嬉しいです!🙏 💖
売上はRailsガイドの継続的な更新に当てています。日本時間の12月16日にリリースされた Rails 7.0 が、公開後1週間でRailsガイドに反映できたのも、Railsガイドを普段からご利用している方々のおかげです。いつもありがとうございます 🙏✨
2022年からは、法人を対象としたRailsガイドへのバナー画像表示などができるパートナープログラムも公開する予定です (公開しました!!)。個別の先行事例が既にいくつかありますので、もしご興味あればお問い合わせページまたは @yasulab までご連絡いただけると嬉しいです! 📮
🤝 パートナープログラムの詳細と、これまでの先行事例
🛠 今後も継続的に改善していきます
主要なガイドの追加/更新は完了しましたが、Railsガイドは現在も活発な状態です。今後も継続的に改善していくので、何かあれば GitHub の yasslab/railsguides.jp まで気軽に Pull Request を送ってください! 😆✨
💖 追記: たくさんの反響、ありがとうございます!
Ruby の開発者 @yukihiro_matz さん含め、多くの方々に Like / Retweet していただき嬉しいです! 2022年も引き続きよろしくお願い致します...!! 🙏✨