なるようになるブログ

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

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

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

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

actionview/CHANGELOG.md

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md


Merge pull request #47436 from seanpdoyle/action-view-nested-field-name-calls

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

formでfieldをnestして使用している場合に、field_idfield_nameに不要なindexが追加されてしまうバグがあったのを修正しています。


Active Job: async adapter should always run jobs immediately if immediate set

activejob/lib/active_job/queue_adapters/async_adapter.rbの修正です。

async adapterでjob enqueue時にimmediateオプションが指定されている場合に、即座にjobを実行するよう修正しています。


Merge pull request #48623 from ghiculescu/logging-job-args

activejob/test/cases/test_helper_test.rbactivejob/test/jobs/logging_job.rbの修正です。

テスト用のjob classに複数の引数を正しく指定出来てなかったのを修正しています。


Merge pull request #48627 from p8/activestorage/document-with-attached

activestorage/lib/active_storage/attached/model.rbのdocの修正です。

has_one_attachedhas_many_attachedで生成されるscopeメソッドについてのdocを追加しています。


Disable database prepared statements when query logs are enabled

activerecord/lib/active_record.rbactiverecord/lib/active_record/connection_adapters/abstract_adapter.rbの修正です。

query logsが有効になっている場合、prepared statementを自動で無効化するよう修正しています。query logsは全てのqueryがuniqueになるよう扱っており、これだとprepared statementが意味がなく、不要なデータを作成するのを避ける為無効化するようにしています。また、query logsはmarginalia gemをインポートした機能なのですが、marginalia gemでも同様にprepared statementを無効化していた為。


Add an option to preprocessed AS variants

Acitve Storageの修正です。

Active Storageのvariantはファイル参照時に生成されるようになっていたのですが、これを参照時ではなく、事前に生成出来るよう対応しています。事前に生成したい場合、variantpreprocessed: trueオプションを指定すればよく、このオプションが指定されたvariantは事前にbackground jobで生成処理が実行されるようになっています。

class User < ApplicationRecord
  has_one_attached :avatar do |attachable|
    attachable.variant :thumb, resize_to_limit: [100, 100], preprocessed: true
  end
end