2022/08/09分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #44616 from ghiculescu/preload-all-if-proc
actionview/lib/action_view/renderer/collection_renderer.rb
、
actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
の修正です。
render
のcached
オプションにproc + multifetchの処理が指定された場合に、preload
を実行するよう修正しています。
# controller @posts = Post.preload(:author) # view render partial: "test/partial", collection: @post, cached: proc { |post| [post, post.author] }
上記のような処理があった場合に、cache keyの生成処理のSQLがN+1になるのを避ける為。
Improvements to assert_enqueued_email_with
(#45752)
actionmailer/lib/action_mailer/test_helper.rb
の修正です。
assert_enqueued_email_with
でmailerのparametersのチェックが出来るよう修正しています。チェックはparametersだけ、及び、argumentsと合わせてのチェック両方出来るようになっています。
email = UserMailer.with(all: "good").create_invite("me@example.com", "friend@example.com") assert_enqueued_email_with UserMailer, :create_invite, params: { all: "good" }, args: ["me@example.com", "friend@example.com"] do email.deliver_later end