なるようになるブログ

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

rails commit log流し読み(2023/07/13)

2023/07/13分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #48725 from gmcgibbon/remove_cpk_habtm_suppression

activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rbの修正です。

使用していないsuppress_composite_primary_keyメソッドを削除しています。


Merge pull request #48724 from gmcgibbon/improve_cpk_validation_check

activerecord/lib/active_record/associations.rbactiverecord/lib/active_record/reflection.rbの修正です。

composite primary keyのvalidation checkをする際に、owner、association、両方の定義をチェックするよう修正しています。


Merge pull request #48719 from henrik/doc-and-spec-cookies-delete-rval

actionpack/lib/action_dispatch/middleware/cookies.rbのdoc、及び、actionpack/test/dispatch/cookies_test.rbの修正です。

Cookies#deleteメソッドのdocに、メソッドの戻り値についての説明を追加、及び、その戻り値について確認するテストを追加しています。


Eagerly cast serialized query attributes

Active Recordの修正です。

クエリキャッシュが間違った値を返す場合がある問題を修正した、Dup and freeze complex types when making query attributesの影響で、serializeを使用しているattributeのquery処理が正しく動作しなくなっていたのを修正しています。先の修正でattributeに対して必ずdeep_dupを実行していたのが問題(dupを使用するとprimary keyがnilになってしまう)だった為、attributeがdeep_dupを使用しても問題無いデータかチェックし、問題無い場合のみdeep_dupを使用するよう修正しています。


Fix counter_cache create/concat with overlapping counter_cache_column

activerecord/lib/active_record/reflection.rbの修正です。

複数のbelongs_toが同じ名前の違うcounter cacheのcolumnを参照している場合に、association保存時に参照しているのと違うcolumnをincrementしてしまうバグがあったのを修正しています。


Document common ActiveStorage issues

rails guideのActive Storage Overviewの修正です。

has_many_attachedを使用している場合に既存のattachmentをそのままにして新しいattachmentを追加する方法についての説明、及び、フォーム送信処理がvalidatonで失敗した場合にuploaded fileを維持する方法についての説明を追加しています。