edge
詳細はrubyonrails.orgで: もっとRuby on Rails

Ruby on Rails 6.0 リリースノート

Rails 6.0 のハイライト:

これらのリリースノートは主要な変更のみをカバーしています。さまざまなバグ修正や変更については、変更ログを参照するか、GitHub 上のメインの Rails リポジトリのコミットのリストをチェックしてください。

1 Rails 6.0 へのアップグレード

既存のアプリケーションをアップグレードする場合は、アップグレードする前に十分なテストカバレッジを持つことが重要です。また、まだ行っていない場合はまず Rails 5.2 にアップグレードし、アプリケーションが正常に動作することを確認してから Rails 6.0 への更新を試みてください。アップグレード時に注意すべき点のリストは、Ruby on Rails のアップグレードガイドで入手できます。

2 主な機能

2.1 Action Mailbox

プルリクエスト

Action Mailboxは、受信したメールをコントローラのようなメールボックスにルーティングすることができます。 Action Mailbox については、Action Mailbox の基本ガイドで詳しく説明しています。

2.2 Action Text

プルリクエスト

Action Textは、Rails にリッチテキストのコンテンツと編集機能をもたらします。これには、フォーマットやリンク、引用、リスト、埋め込み画像やギャラリーなど、すべてを扱うTrix エディタが含まれています。Trix エディタによって生成されたリッチテキストのコンテンツは、既存のアプリケーション内の任意の Active Record モデルに関連付けられた独自の RichText モデルに保存されます。埋め込まれた画像(またはその他の添付ファイル)は、Active Storage を使用して自動的に保存され、含まれる RichText モデルに関連付けられます。

Action Text については、Action Text の概要ガイドで詳しく説明しています。

2.3 パラレルテスト

プルリクエスト

パラレルテストを使用すると、テストスイートを並列化することができます。プロセスのフォークがデフォルトの方法ですが、スレッドもサポートされています。テストを並列実行することで、テストスイート全体の実行時間を短縮することができます。

2.4 Action Cable テスト

プルリクエスト

Action Cable テストツールを使用すると、Action Cable の機能を接続、チャンネル、ブロードキャストのいずれのレベルでもテストすることができます。

3 Railties

詳細な変更については、変更ログを参照してください。

3.1 削除

  • プラグインテンプレート内の非推奨な after_bundle ヘルパーを削除しました。 (コミット)

  • アプリケーションクラスを run の引数として使用する config.ru の非推奨なサポートを削除しました。 (コミット)

  • rails コマンドからの非推奨な environment 引数を削除しました。 (コミット)

  • ジェネレータとテンプレート内の非推奨な capify! メソッドを削除しました。 (コミット)

  • 非推奨な config.secret_token を削除しました。 (コミット)

3.2 非推奨

  • rails server に Rack サーバー名を通常の引数として渡すことを非推奨にしました。 (プルリクエスト)
  • HOST環境を使用してサーバーIPを指定するサポートを非推奨にします。 (プルリクエスト)

  • config_forによって返されるハッシュに非シンボルキーでアクセスすることを非推奨にします。 (プルリクエスト)

3.3 注目すべき変更点

  • rails serverコマンドのサーバーを指定するための明示的なオプション--usingまたは-uを追加します。 (プルリクエスト)

  • rails routesの出力を展開形式で表示する機能を追加します。 (プルリクエスト)

  • インラインのActive Jobアダプターを使用してシードデータベースタスクを実行します。 (プルリクエスト)

  • アプリケーションのデータベースを変更するためのrails db:system:changeコマンドを追加します。 (プルリクエスト)

  • rails test:channelsコマンドを追加して、Action Cableチャンネルのみをテストします。 (プルリクエスト)

  • DNSリバインディング攻撃に対するガードを導入します。 (プルリクエスト)

  • ジェネレーターコマンドの実行中に失敗した場合に中止する機能を追加します。 (プルリクエスト)

  • Rails 6のデフォルトのJavaScriptコンパイラをWebpackerにします。 (プルリクエスト)

  • rails db:migrate:statusコマンドに複数のデータベースのサポートを追加します。 (プルリクエスト)

  • ジェネレーターで複数のデータベースから異なるマイグレーションパスを使用する機能を追加します。 (プルリクエスト)

  • 複数の環境での認証情報のサポートを追加します。 (プルリクエスト)

  • テスト環境でのデフォルトのキャッシュストアをnull_storeにします。 (プルリクエスト)

4 Action Cable

詳細な変更点については、Changelogを参照してください。

4.1 削除

  • ActionCable.startDebugging()ActionCable.stopDebugging()ActionCable.logger.enabledで置き換えます。 (プルリクエスト)

4.2 非推奨

  • Rails 6.0では、Action Cableに関する非推奨事項はありません。

4.3 注目すべき変更点

  • cable.ymlでPostgreSQLのサブスクリプションアダプターのchannel_prefixオプションをサポートします。 (プルリクエスト)

  • ActionCable::Server::Baseにカスタム設定を渡す機能を追加します。 (プルリクエスト)

  • :action_cable_connection:action_cable_channelのロードフックを追加します。 (プルリクエスト)

  • Channel::Base#broadcast_toChannel::Base.broadcasting_forを追加します。 (プルリクエスト)

  • ActionCable::Connectionからreject_unauthorized_connectionを呼び出すと接続を閉じます。 (プルリクエスト)

  • Action CableのJavaScriptパッケージをCoffeeScriptからES2015に変換し、ソースコードをnpm配布に公開します。 (プルリクエスト)

  • WebSocketアダプターとロガーアダプターの設定をActionCableのプロパティからActionCable.adaptersに移動します。 (プルリクエスト)

  • Action CableのRedisアダプターにidオプションを追加して、Redisの接続を区別します。 (プルリクエスト)

5 Action Pack

詳細な変更点については、Changelogを参照してください。

5.1 削除

  • combined_fragment_cache_keyに対して非推奨のfragment_cache_keyヘルパーを削除します。 (コミット)

  • ActionDispatch::TestResponseの非推奨メソッドを削除します: #success?#successful?に、#missing?#not_found?に、#error?#server_error?に置き換えます。 (コミット)

5.2 非推奨

  • ActionDispatch::Http::ParameterFilterActiveSupport::ParameterFilterに非推奨にします。 (プルリクエスト)

  • コントローラーレベルのforce_sslconfig.force_sslに非推奨にします。 (プルリクエスト)

5.3 注目すべき変更点

  • ActionDispatch::Response#content_typeがContent-Typeヘッダーをそのまま返すように変更されました。 (プルリクエスト)

  • リソースパラメータにコロンが含まれている場合、ArgumentErrorを発生させるように変更されました。 (プルリクエスト)

  • 特定のブラウザの機能を定義するために、ActionDispatch::SystemTestCase.driven_byをブロックで呼び出すことができるようになりました。 (プルリクエスト)

  • DNSリバインディング攻撃から保護するためのActionDispatch::HostAuthorizationミドルウェアが追加されました。 (プルリクエスト)

  • ActionController::TestCaseparsed_bodyを使用することができるようになりました。 (プルリクエスト)

  • 同じコンテキスト内で複数のルートルートが存在する場合、as:の名前指定がない場合にArgumentErrorを発生させるように変更されました。 (プルリクエスト)

  • パラメータの解析エラーを処理するために#rescue_fromの使用を許可するようになりました。 (プルリクエスト)

  • パラメータを反復処理するためのActionController::Parameters#each_valueが追加されました。 (プルリクエスト)

  • send_datasend_fileでContent-Dispositionのファイル名をエンコードするようになりました。 (プルリクエスト)

  • ActionController::Parameters#each_keyを公開するようになりました。 (プルリクエスト)

  • 署名付き/暗号化されたクッキー内の目的と有効期限のメタデータが追加され、クッキーの値をコピーしないようになりました。 (プルリクエスト)

  • 矛盾するrespond_to呼び出しに対してActionController::RespondToMismatchErrorを発生させるようになりました。 (プルリクエスト)

  • リクエストフォーマットのテンプレートが存在しない場合に明示的なエラーページを追加しました。 (プルリクエスト)

  • ActionDispatch::DebugExceptions.register_interceptorを導入し、レンダリング前に例外を処理する方法を提供しました。 (プルリクエスト)

  • 1つのリクエストに対して1つのContent-Security-Policy nonceヘッダー値のみを出力するようになりました。 (プルリクエスト)

  • 明示的にコントローラに含めることができる、Railsのデフォルトヘッダー設定のためのモジュールが追加されました。 (プルリクエスト)

  • ActionDispatch::Request::Session#digを追加しました。 (プルリクエスト)

6 Action View

詳細な変更点については、Changelogを参照してください。

6.1 削除

  • 廃止予定のimage_altヘルパーを削除しました。 (コミット)

  • 機能が既にrecord_tag_helper gemに移動された空のRecordTagHelperモジュールを削除しました。 (コミット)

6.2 廃止予定

  • 置換なしでActionView::Template.finalize_compiled_template_methodsを廃止しました。 (プルリクエスト)

  • 置換なしでconfig.action_view.finalize_compiled_template_methodsを廃止しました。 (プルリクエスト)

  • options_from_collection_for_selectビューヘルパーからプライベートモデルメソッドを呼び出すことを廃止しました。 (プルリクエスト)

6.3 注目すべき変更点

  • 開発モードでのみファイルの変更時にAction Viewキャッシュをクリアし、開発モードの高速化を実現しました。 (プルリクエスト)

  • Railsのすべてのnpmパッケージを@railsスコープに移動しました。 (プルリクエスト)

  • 登録されたMIMEタイプからのフォーマットのみを受け入れるようにしました。 (プルリクエスト, プルリクエスト)

  • テンプレートとパーシャルのレンダリングサーバー出力に割り当てを追加しました。 (プルリクエスト)

  • date_selectタグにyear_formatオプションを追加し、年の名前をカスタマイズできるようにしました。 (プルリクエスト)

  • javascript_include_tagヘルパーにnonce: trueオプションを追加し、Content Security Policyの自動nonce生成をサポートしました。 (プルリクエスト)

  • ActionView::Templateの最終処理を無効化または有効化するためのaction_view.finalize_compiled_template_methods設定を追加しました。 (プルリクエスト)

  • rails_ujs内のJavaScriptのconfirm呼び出しを、オーバーライド可能なメソッドに抽出します。 (プルリクエスト)

  • UTF-8エンコーディングの強制を処理するために、action_controller.default_enforce_utf8設定オプションを追加します。デフォルトはfalseです。 (プルリクエスト)

  • ロケールキーをサブミットタグに対してI18nキースタイルのサポートを追加します。 (プルリクエスト)

7 アクションメーラー

詳細な変更については、変更履歴を参照してください。

7.1 削除

7.2 廃止予定

  • ActionMailer::Base.receiveを廃止し、Action Mailboxを利用するようにします。 (コミット)

  • DeliveryJobParameterized::DeliveryJobを廃止し、MailDeliveryJobを利用するようにします。 (プルリクエスト)

7.3 注目すべき変更

  • 通常のメールとパラメータ化されたメールの両方を配信するためのMailDeliveryJobを追加します。 (プルリクエスト)

  • カスタムのメール配信ジョブがAction Mailerのテストアサーションと連携できるようにします。 (プルリクエスト)

  • アクション名だけでなく、ブロックを使用してマルチパートメールのテンプレート名を指定できるようにします。 (プルリクエスト)

  • deliver.action_mailer通知のペイロードにperform_deliveriesを追加します。 (プルリクエスト)

  • perform_deliveriesがfalseの場合に、メールの送信がスキップされたことを示すログメッセージを改善します。 (プルリクエスト)

  • ブロックなしでassert_enqueued_email_withを呼び出すことができるようにします。 (プルリクエスト)

  • assert_emailsブロック内でエンキューされたメール配信ジョブを実行します。 (プルリクエスト)

  • ActionMailer::Baseからオブザーバーとインターセプターを登録解除できるようにします。 (プルリクエスト)

8 アクティブレコード

詳細な変更については、変更履歴を参照してください。

8.1 削除

  • トランザクションオブジェクトから廃止予定の#set_stateを削除します。 (コミット)

  • データベースアダプタから廃止予定の#supports_statement_cache?を削除します。 (コミット)

  • データベースアダプタから廃止予定の#insert_fixturesを削除します。 (コミット)

  • ActiveRecord::ConnectionAdapters::SQLite3Adapter#valid_alter_table_type?を廃止します。 (コミット)

  • ブロックが渡された場合にsumにカラム名を渡すことをサポートしないようにします。 (コミット)

  • ブロックが渡された場合にcountにカラム名を渡すことをサポートしないようにします。 (コミット)

  • リレーションの欠落したメソッドをArelに委譲するサポートを削除します。 (コミット)

  • リレーションの欠落したメソッドをクラスのプライベートメソッドに委譲するサポートを削除します。 (コミット)

  • #cache_keyにタイムスタンプ名を指定するサポートを削除します。 (コミット)

  • 廃止予定のActiveRecord::Migrator.migrations_path=を削除します。 (コミット)

  • expand_hash_conditions_for_aggregatesを廃止します。 (コミット)

8.2 廃止予定

  • 一意性バリデータの大文字小文字の区別がある照合比較を廃止します。 (コミット)

  • 受信側スコープが漏洩している場合に、クラスレベルのクエリメソッドの使用を廃止します。 (プルリクエスト)

  • config.active_record.sqlite3.represent_boolean_as_integerを廃止します。 (コミット)

  • migrations_pathsconnection.assume_migrated_upto_versionに渡すことを廃止します。 (コミット)

  • ActiveRecord::Result#to_hashActiveRecord::Result#to_aに廃止します。 (コミット)

  • DatabaseLimitsのメソッドcolumn_name_lengthtable_name_lengthcolumns_per_tableindexes_per_tablecolumns_per_multicolumn_indexsql_query_lengthjoins_per_queryを廃止します。 (コミット)

  • update_attributes/!update/!に廃止します。 (コミット)

8.3 注目すべき変更

  • sqlite3 gemの最小バージョンを1.4に上げます。 (プルリクエスト)

  • rails db:prepareを追加して、存在しない場合はデータベースを作成し、マイグレーションを実行します。 (プルリクエスト)

  • after_save_commitコールバックを追加して、after_commit :hook, on: [ :create, :update ]のショートカットを提供します。 (プルリクエスト)

  • 関連するレコードをリレーションから抽出するためのActiveRecord::Relation#extract_associatedを追加します。 (プルリクエスト)

  • ActiveRecord::RelationクエリにSQLコメントを追加するためのActiveRecord::Relation#annotateを追加します。 (プルリクエスト)

  • データベースにOptimizer Hintsを設定するサポートを追加します。 (プルリクエスト)

  • バルク挿入を行うためのinsert_all/insert_all!/upsert_allメソッドを追加します。 (プルリクエスト)

  • 現在の環境の各データベースのテーブルを切り捨て、シードをロードするためのrails db:seed:replantを追加します。 (プルリクエスト)

  • unscope(:select).select(fields)のショートカットであるreselectメソッドを追加します。 (プルリクエスト)

  • すべてのenum値に対するネガティブスコープを追加します。 (プルリクエスト)

  • 条件付きの削除のための#destroy_by#delete_byを追加します。 (プルリクエスト)

  • ブロックの実行中にデータベースへの書き込みを自動的に無効にする機能を追加します。 (プルリクエスト)

  • 複数のデータベースをサポートするための接続切り替えの機能を追加します。 (プルリクエスト)

  • 複数のデータベースをサポートするための接続切り替えのためのAPIを追加します。 (プルリクエスト)

  • マイグレーションのデフォルトとして、タイムスタンプに精度を設定します。 (プルリクエスト)

  • MySQLでテキストとBLOBのサイズを変更するための:sizeオプションをサポートします。 (プルリクエスト)

  • dependent: :nullify戦略でのポリモーフィック関連の場合、外部キーと外部タイプの両方のカラムをNULLに設定します。 (プルリクエスト)

  • ActiveRecord::Relation#exists?の引数として許可されたActionController::Parametersのインスタンスを渡すことを許可します。 (プルリクエスト)

  • Ruby 2.6で導入された無限範囲のための#whereサポートを追加します。 (プルリクエスト)

  • MySQLのデフォルトのテーブル作成オプションとしてROW_FORMAT=DYNAMICを設定します。 (プルリクエスト)

  • ActiveRecord.enumによって生成されるスコープを無効にする機能を追加します。 (プルリクエスト)

  • カラムの暗黙の並べ替えを設定可能にします。 (プルリクエスト)

  • PostgreSQLの最小バージョンを9.3に引き上げ、9.1と9.2のサポートを終了します。 (プルリクエスト)

  • enumの値を変更しようとするとエラーが発生するようにし、enumの値を凍結します。 (プルリクエスト)

  • ActiveRecord::StatementInvalidエラーのSQLを独自のエラープロパティとして設定し、SQLバインドを別のエラープロパティとして含めます。 (プルリクエスト)

  • create_tableif_not_existsオプションを追加します。 (プルリクエスト)

  • rails db:schema:cache:dumprails db:schema:cache:clearに複数のデータベースのサポートを追加します。 (プルリクエスト)

  • ActiveRecord::Base.connected_toのデータベースハッシュでハッシュとURLの設定をサポートします。 (プルリクエスト)

  • MySQLのデフォルト式と式インデックスのサポートを追加します。 (プルリクエスト)

  • change_tableマイグレーションヘルパーのためのindexオプションを追加します。 (プルリクエスト)

  • マイグレーションのtransactionのリバートを修正しました。以前は、リバートされたマイグレーション内のコマンドがリバートされずに実行されていましたが、この変更により修正されました。 (プルリクエスト)

  • ActiveRecord::Base.configurations=をシンボル化されたハッシュで設定できるようにしました。 (プルリクエスト)

  • カウンターキャッシュを実際に保存された場合にのみ更新するように修正しました。 (プルリクエスト)

  • SQLiteアダプターに式インデックスのサポートを追加しました。 (プルリクエスト)

  • 関連するレコードの自動保存コールバックをサブクラスで再定義できるようにしました。 (プルリクエスト)

  • 最小のMySQLバージョンを5.5.8に引き上げました。 (プルリクエスト)

  • MySQLでデフォルトでutf8mb4文字セットを使用するようにしました。 (プルリクエスト)

  • #inspectで機密データをフィルタリングする機能を追加しました。 (プルリクエスト, プルリクエスト)

  • ActiveRecord::Base.configurationsをハッシュではなくオブジェクトを返すように変更しました。 (プルリクエスト)

  • アドバイザリーロックを無効にするためのデータベース設定を追加しました。 (プルリクエスト)

  • SQLite3アダプターのalter_tableメソッドを更新して外部キーを復元するようにしました。 (プルリクエスト)

  • remove_foreign_keyto_tableオプションを反転可能にするようにしました。 (プルリクエスト)

  • 指定された精度を持つMySQLの時間型のデフォルト値を修正しました。 (プルリクエスト)

  • touchオプションをPersistence#touchメソッドと一貫した動作に修正しました。 (プルリクエスト)

  • マイグレーションで重複する列定義がある場合に例外を発生させるようにしました。 (プルリクエスト)

  • 最小のSQLiteバージョンを3.8に引き上げました。 (プルリクエスト)

  • 親レコードが重複した子レコードと一緒に保存されないように修正しました。 (プルリクエスト)

  • Associations::CollectionAssociation#sizeAssociations::CollectionAssociation#empty?がロードされた関連のIDを使用するように修正しました。 (プルリクエスト)

  • ポリモーフィック関連のレコードの一部に要求された関連が存在しない場合に関連をプリロードするサポートを追加しました。 (コミット)

  • ActiveRecord::Relationtouch_allメソッドを追加しました。 (プルリクエスト)

  • ActiveRecord::Base.base_class?述語を追加しました。 (プルリクエスト)

  • ActiveRecord::Store.store_accessorにカスタムの接頭辞/接尾辞オプションを追加しました。 (プルリクエスト)

  • ActiveRecord::Base.find_or_create_by/!のSELECT/INSERT競合状態を処理するために、ActiveRecord::Base.create_or_find_by/!を追加しました。 (プルリクエスト)

  • 単一の値のプラックスのための省略形としてRelation#pickを追加しました。 (プルリクエスト)

9 Active Storage

詳細な変更については、Changelogを参照してください。

9.1 削除

9.2 廃止予定

  • config.active_storage.queueconfig.active_storage.queues.analysisconfig.active_storage.queues.purgeに置き換えるために、config.active_storage.queueを廃止予定にしました。 (プルリクエスト)

  • ActiveStorage::DownloadingActiveStorage::Blob#openに置き換えるために、ActiveStorage::Downloadingを廃止予定にしました。 (コミット)

  • 画像のバリアントを生成するためにmini_magickを直接使用することを廃止し、image_processingを使用するようにしました。 (コミット)

  • Active StorageのImageProcessingトランスフォーマーでcombine_optionsを廃止しました。 (コミット)

9.3 注目すべき変更

  • BMP画像のバリアント生成をサポートしました。 (プルリクエスト)

  • TIFF画像のバリアント生成をサポートしました。 (プルリクエスト)

  • プログレッシブJPEG画像のバリアント生成をサポートしました。 (プルリクエスト)

  • ActiveStorage.routes_prefixを追加して、Active Storageが生成するルートを設定できるようにしました。 (プルリクエスト)

  • ActiveStorage::DiskController#showでリクエストされたファイルがディスクサービスから見つからない場合、404 Not Foundのレスポンスを返すようにしました。 (プルリクエスト)

  • ActiveStorage::Blob#downloadActiveStorage::Blob#openでリクエストされたファイルが見つからない場合、ActiveStorage::FileNotFoundErrorを発生させるようにしました。 (プルリクエスト)

  • Active Storageの例外が継承するための汎用的なActiveStorage::Errorクラスを追加しました。 (コミット)

  • レコードに割り当てられたアップロードされたファイルを、レコードが保存される時点でストレージに永続化するようにしました。 (プルリクエスト)

  • 添付ファイルのコレクションに割り当てる際に、既存のファイルを置き換えるオプションを追加しました(@user.update!(images: [ … ])のような形式)。この動作を制御するには、config.active_storage.replace_on_assign_to_manyを使用してください。 (プルリクエスト, プルリクエスト)

  • 既存のActive Recordの反射機構を使用して、定義された添付ファイルに関する情報を取得できるようにしました。 (プルリクエスト)

  • ActiveStorage::Blob#openを追加し、ブロブをディスク上の一時ファイルにダウンロードし、その一時ファイルをyieldするようにしました。 (コミット)

  • Google Cloud Storageからのストリーミングダウンロードをサポートしました。google-cloud-storage gemのバージョン1.11以上が必要です。 (プルリクエスト)

  • Active Storageのバリアントにはmini_magickの代わりにimage_processing gemを使用するようにしました。 (プルリクエスト)

10 Active Model

詳細な変更については、Changelogを参照してください。

10.1 削除

10.2 廃止予定

10.3 注目すべき変更

  • ActiveModel::Errors#full_messageのフォーマットをカスタマイズするための設定オプションを追加しました。 (プルリクエスト)

  • has_secure_passwordの属性名を設定するためのサポートを追加しました。 (プルリクエスト)

  • ActiveModel::Errors#slice!メソッドを追加しました。 (プルリクエスト)

  • 特定のエラーの存在をチェックするためのActiveModel::Errors#of_kind?を追加しました。 (プルリクエスト)

  • タイムスタンプのためのActiveModel::Serializers::JSON#as_jsonメソッドを修正しました。 (プルリクエスト)

  • Active Record以外では、数値検証子は型変換前の値を使用するように修正しました。 (プルリクエスト)

  • BigDecimalFloatの数値検証の等価性を、検証の両端でBigDecimalにキャストすることで修正しました。 (プルリクエスト)

  • マルチパラメータの時間ハッシュをキャストする際の年の値を修正しました。 (プルリクエスト)

  • ブール属性の偽の値として、偽のブールシンボルを型変換するように修正しました。 (プルリクエスト)

  • ActiveModel::Type::Datevalue_from_multiparameter_assignmentでパラメータを変換する際に、正しい日付を返すように修正しました。 (プルリクエスト)

  • エラーの翻訳を取得する際に、:errorsの名前空間の代わりに親のロケールを優先して使用するように修正しました。 (プルリクエスト)

11 Active Support

詳細な変更については、Changelogを参照してください。

11.1 削除

  • Inflectionsから非推奨の#acronym_regexメソッドを削除しました。 (コミット)

  • 非推奨のModule#reachable?メソッドを削除しました。 (コミット)

  • 代替方法なしでKernel#`を削除しました。 (プルリクエスト)

11.2 廃止予定

  • String#firstString#lastに対して負の整数引数を使用することを廃止しました。 (プルリクエスト)

  • ActiveSupport::Multibyte::Unicode#downcase/upcase/swapcaseを廃止し、String#downcase/upcase/swapcaseを使用するようにしました。 (プルリクエスト)

  • ActiveSupport::Multibyte::Unicode#normalizeActiveSupport::Multibyte::Chars#normalizeString#unicode_normalizeに置き換えるために非推奨化します。 ([プルリクエスト](https://github.com/rails/rails/pull/34202))

  • ActiveSupport::Multibyte::Chars.consumes?String#is_utf8?に置き換えるために非推奨化します。 ([プルリクエスト](https://github.com/rails/rails/pull/34215))

  • ActiveSupport::Multibyte::Unicode#pack_graphemes(array)ActiveSupport::Multibyte::Unicode#unpack_graphemes(string)をそれぞれarray.flatten.pack("U *")string.scan(/ \ X /).map(&:codepoints)に置き換えるために非推奨化します。 ([プルリクエスト](https://github.com/rails/rails/pull/34254))

11.3 注目すべき変更

12 Active Job

詳細な変更については、Changelogを参照してください。

12.1 削除

12.2 廃止予定

12.3 注目すべき変更

  • Active Job引数のカスタムシリアライザのサポートを追加します。 (プルリクエスト

  • ジョブがエンキューされたタイムゾーンでActive Jobsを実行するサポートを追加します。 (プルリクエスト

  • retry_on/discard_onに複数の例外を渡すことを許可します。 (コミット

  • ブロックなしでassert_enqueued_withassert_enqueued_email_withを呼び出すことを許可します。 (プルリクエスト

  • enqueueenqueue_atの通知をafter_enqueueコールバックではなく、around_enqueueコールバックでラップします。 (プルリクエスト

  • ブロックなしでperform_enqueued_jobsを呼び出すことを許可します。 (プルリクエスト

  • ブロックなしでassert_performed_withを呼び出すことを許可します。 (プルリクエスト

  • ジョブのアサーションとヘルパーにqueueオプションを追加します。 (プルリクエスト

  • リトライと破棄の周りでActive Jobにフックを追加します。 (プルリクエスト

  • ジョブを実行する際に引数のサブセットをテストする方法を追加します。 (プルリクエスト

  • Active Jobのテストヘルパーでシリアライズされた引数を含めるようにします。 (プルリクエスト

  • Active Jobのアサーションヘルパーがonlyキーワードに対してProcを受け入れるようにします。 (プルリクエスト

  • アサーションヘルパーのジョブ引数からマイクロ秒とナノ秒を削除します。 (プルリクエスト

13 Ruby on Railsガイド

詳細な変更については、Changelogを参照してください。

13.1 注目すべき変更点

  • Active Recordガイドに複数のデータベースを追加します。 (プルリクエスト)

  • 定数の自動読み込みのトラブルシューティングについてのセクションを追加します。 (コミット)

  • Action Mailbox Basicsガイドを追加します。 (プルリクエスト)

  • Action Text Overviewガイドを追加します。 (プルリクエスト)

14 クレジット

Railsを安定かつ堅牢なフレームワークにするために多くの人々が多くの時間を費やしたことについては、 Railsへの貢献者の完全なリスト を参照してください。彼ら全員に敬意を表します。

フィードバック

このガイドの品質向上にご協力ください。

タイポや事実の誤りを見つけた場合は、ぜひ貢献してください。 開始するには、ドキュメントへの貢献セクションを読んでください。

不完全なコンテンツや最新でない情報も見つかるかもしれません。 メインのドキュメントに不足しているドキュメントを追加してください。 修正済みかどうかは、まずEdge Guidesを確認してください。 スタイルと規約については、Ruby on Rails Guides Guidelinesを確認してください。

修正すべき点を見つけたが、自分で修正できない場合は、 問題を報告してください

そして最後に、Ruby on Railsのドキュメントに関するあらゆる議論は、公式のRuby on Railsフォーラムで大歓迎です。