なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2021/03/25)

2021/03/25分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


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::ParseErrorrescue_fromでcatch出来ないバグがあったのを修正しています。


Fix indentation

actionpack/lib/action_controller/metal/params_wrapper.rbの修正です。

先の対応でインデントがずれてしまっている箇所があったのを修正しています。


Add n_plus_one_only mode to Core#strict_loading!

activerecord/lib/active_record/associations/association.rbactiverecord/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が実行されないよう修正しています。


[ci skip] Fix Grammatical Errors and Eliminate Ambiguous Wordings in Multiple Database Documents (#41670)

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の保存に失敗してしまうケースがあった為。