2021/03/25分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Rename internal @saving
state to @_saving
Active Recordの修正です。
内部用の変数に_
prefixを追加しています。同名の変数がユーザに定義されて処理が上書きされてしまうのを避ける為。
Simplify and memoize polymorphic?
activerecord/lib/active_record/associations/preloader/branch.rb
の修正です。
polymorphicかどうかのチェック処理をメモ化するよう修正しています。
Fix handling of ParseError in controllers
actionpack/lib/action_controller/metal/params_wrapper.rb
の修正です。
ActionDispatch::Http::Parameters::ParseError
をrescue_from
でcatch出来ないバグがあったのを修正しています。
actionpack/lib/action_controller/metal/params_wrapper.rb
の修正です。
先の対応でインデントがずれてしまっている箇所があったのを修正しています。
Add n_plus_one_only mode to Core#strict_loading!
activerecord/lib/active_record/associations/association.rb
、
activerecord/lib/active_record/core.rb
の修正です。
strict_loading!
に、associationに関するlazy loadでのみエラーをraiseするようにする為のオプションを追加しています。左記オプションを使用した場合、strict_loading!
にmode: :n_plus_one_only
を指定すればOKです。
developer.strict_loading!(mode: :n_plus_one_only) developer.projects.to_a # Does not raise developer.projects.first.client # Raises StrictLoadingViolationError
ActiveRecord: Optimize cache_key computation (#41741)
activerecord/lib/active_record/relation.rb
の修正です。
cache keyの生成の際に不要なqueryが実行されないよう修正しています。
rails guideのMultiple Databases with Active Record
の修正です。
各箇所のグラマー、フォーマットの修正を行っています。
Revert "Prevent double save of cyclic associations"
associationの定義が循環している場合にauto saveでrecordが二重に保存されてしまうバグがあったのを修正した、Prevent double save of cyclic associationsをRevertしています。
associationの外部キーを正しく設定出来ておらず、associationの保存に失敗してしまうケースがあった為。