なるようになるブログ

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

rails commit log流し読み(2020/12/02)

2020/12/02分のコミットです。

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

activerecord/CHANGELOG.md

actionview/CHANGELOG.md


Add option for default_scope to run on all queries

Active Recordの修正です。

select / insertのqueryにだけ影響があったdefault_scopeを、update / delete queryにも適応出来るよう修正しtています。デフォルトはselect / insertのみのままで、update / queryにも適応出来るようにしたい場合、all_queriesオプションをdefault_scopeに指定する必要があります。

default_scope -> { where(blog_id: Current.blog.id) }, all_queries: true

Optimize HashWithIndifferentAccess.new when no args are provided

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

HashWithIndifferentAccess#initializeに引数が指定されて無い場合に、不要なオブジェクトの生成が行われないよう修正しています。


Merge pull request #40706 from jonathanhefner/guide-active_storage_overview-link-api

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

各メソッドについてAPI docにリンクするよう修正しています。


Change form_with to generate non remote forms by default

Action Viewの修正です。

form_withがデフォルトでnon-remoteなformを生成するよ修正しています。

元々はremote formをデフォルトで生成するようになっていた、しかし、generatorが生成するコードではlocal: trueを指定していnon-remoteなformになるよう対応がされていました。しかしこれが挙動としてわかりずらい、という指摘があった為、デフォルトでnon-remoteとなるよう修正しています。remote formを生成した場合、form_withlocal: falseオプションを指定する必要があります。


Fix or to raise structurally incompatible error for single values

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

orにsingle valueを指定した場合にNoMethodErrorが発生してしまっていたのを、structurally incompatible errorが出力されるよう修正しています。