なるようになるブログ

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

rails commit log流し読み(2025/12/05)

2025/12/05分のコミットです。

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

activesupport/CHANGELOG.md

actionview/CHANGELOG.md

actiontext/CHANGELOG.md

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md


Fix typos in comments

actioncable/lib/action_cable/subscription_adapter/postgresql.rbactionpack/lib/action_controller/metal/redirecting.rbのdocの修正です。

コメント内のタイポの修正を行っています。


Add SecureRandom.base32 (#56288)

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

大文字と数字のランダムなCrockford base32 文字列を生成する、SecureRandom.base32メソッドを追加しています。"人間にとって読みやすい文字列"を生成するようになっており、混乱の元となる"I"、 "L"、 "O"、 "U"は含まれないようになっています。

参考:Base 32


Merge pull request #56286 from Yuhi-Sato/fix-date-current-rdoc

activesupport/lib/active_support/core_ext/date/calculations.rbのdocの修正です。

Date.currentのdocのフォーマットの修正を行っています。


Fix RedisCacheStore for connection_pool >= 3

activesupport/lib/active_support/cache/redis_cache_store.rbの修正です。

RedisCacheStoreconnection_pool gem 3.0以上でも動作するよう修正しています。


Merge pull request #56280 from zzak/re-56245

railties/lib/rails/devtools_controller.rbの修正です。

uuidを生成するのに独自のロジックで行っていたのを、Digest::UUID.uuid_v5を使用するよう修正しています。


Fix MemCacheStore for connection_pool >= 3

activesupport/lib/active_support/cache/mem_cache_store.rbの修正です。

Fix RedisCacheStore for connection_pool >= 3と同様に、MemCacheStoreconnection_pool gem 3.0以上でも動作するよう修正しています。


Combine rather than overwrite tag content supplied via both parameter and block (#56293)

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

tagメソッドにパラメータ引数とblockを両方指定した場合に、blockのcontentでパラメータ引数がオーバーライドされていたのを、結合した値を返すよう修正しています。

tag.div("Hello ") { "World" }

# before
#=> <div>World</div>

# after
#=> <div>Hello World</div>

Merge pull request #56283 from flavorjones/flavorjones/remote-image-url-fix

actiontext/lib/action_text/attachables/remote_image.rbの修正です。

rich textに指定された画像などのassetsのURLを組み立てる際、URLとして正しいフォーマットがかチェックするよう修正しています。image.pngなどのように、何らかの理由でローカルのpathなどが指定されている場合に、適切なエラーをraise出来るようにするため。


Allow schema_dump configuration to be an absolute path. (#56290)

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

schema_dump configに指定されたpathが使用される際に必ずdb_dir pathとjoinして使用されていたのを、schema_dumpの値が絶対pathの場合、joinせずそのまま使用するよう修正しています。


ActiveStorage immediate variants (#51951)

Active Storageの修正です。

variantsの生成をattach時に生成出来るよう修正しています。attach時に生成するか、リクエスト実行時に生成するか等は、新規に追加されたprocessオプションで指定出来るようになっています。

has_one_attached :avatar do |attachable|
  attachable.variant :thumb, resize_to_limit: [100, 100], process: :immediately
end

processに指定出来る値は、:lazily(デフォルト、リクエスト時に生成)、:later(非同期ジョブで生成。preprocessed: trueと同じ)、:immediately(attachmentと合わせて作成)、となっています。合わせて、preprocessed: trueがdeprecatedになっており、今後はprocess: :laterを使用する必要があります。また、variantの生成状態を確認するVariant#processed?及びVariantWithRecord#processed?メソッドがpublicメソッドとして追加されています。


Merge pull request #56285 from markokajzer/main

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

view templatesでsyntax errorが発生した場合に、エラーページの表示処理がエラーになってしまうバグがあったのを修正していmさう。


Merge pull request #56279 from zzak/re-56225

activestorage/test/controllers/representations/redirect_controller_test.rbの修正です。

variantのprocessingとrecordingが一度だけ実行されることを確認するテストで、実行の確認にnotificationのevent nameをチェックしていたのを、実行されるSQLを確認するよう修正しています。event nameが変更になった場合にfailしないようにするため。


show full navbar code for login element in getting_starded guide

rails guideのGetting Started with Railsの修正です。

Showing Links for Authenticated Users Onlyセクション内にあるnavbarのexampleが、Loginボタンだけを追加する内容になっていたのを、Log outやHomeへのリンクも含むものに修正しています。