なるようになるブログ

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

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

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

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

actionpack/CHANGELOG.md

actionview/CHANGELOG.md


Create a class level #with_routing helper.

actionpack/lib/action_dispatch/testing/assertions/routing.rbの修正です。

with_routing helperをclass levelで使用出来るよう修正しています。class levelで使用した場合、各テスト実行前にセットアップが行われ、テスト後に設定され たrouteがリセットされるようになっています。


Test virtual stored columns on create for Postgres

activerecord/test/cases/persistence_test.rbactiverecord/test/schema/postgresql_specific_schema.rbの修正です。

PostgreSQLのvirtual store columnを使用した場合のテストを追加しています。


Use native assert_raises instead of custom assert_raises_with_message.

テストの修正です。

assert_raises_with_messageを使用している箇所をassert_raises + matchオプションを使用するよう修正しています。


Fix defect in Enumerable#many introduced in rails/rails@d862dff

activesupport/lib/active_support/core_ext/enumerable.rbの修正です。

Enumerable#many?にblockを指定した場合のblock引数がRails 7.0.5で変わってしまった(元々はenumeratorの値がそのまま渡されていたのが、先頭の値だけ渡されるようになっていた)のを、元の挙動と同じになるよう修正しています。


Fix autosave associations with validations added on :base of the associated objects

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

autosaveが有効になっているassociationのvalidationでエラーになった場合に、親associationからエラーメッセージを参照した場合に不要なbase keyが含まれてしまう事があったのを修正しています。


Force turbo reload on error.

actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erbの修正です。

エラー用のviewを表示する際に、強制的にturbo reloadを実行するよう修正しています。turbo-rails 1.4 の変更により、自動でのerror responseのload処理が動かなくなった為、との事です。


Stop appending preload links once the head is already 1kB

actionview/lib/action_view/helpers/asset_tag_helper.rbの修正です。

headerのsizeが1kBを越えたら、Link preload headersを生成しないよう修正しています。元々は無制限だった(8kB毎に分割はしていた)のですが、nginxのデフォルトのheader sizeのlimitが4kBになっている、かつ、他のHTTPのclient/proxyでも4kBを上限としている事があり、それらを使用した場合にエラーになるのを避ける為、上限を設定するようにしています。