なるようになるブログ

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

rails commit log流し読み(2020/07/30)

2020/07/30分のコミットです。

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

railties/CHANGELOG.md


Generate abstract class when generating scaffold in another database

Active Record、railtiesの修正です。

multiple databasesを使用するmodelを作成した場合に、自動でabstract classを生成するよう修正しています。

$ rails generate scaffold Pet name:string --database=animals

を実行した場合、下記のようなabstract classが生成されるようになっています。

class AnimalsRecord < ApplicationRecord
  self.abstract_class = true

  connects_to database: { writing: :animals }
end

modelで使用するabstract classはgeneratorの--parent引数で指定出来るようになっています。


Merge pull request #39771 from eugeneius/autosave_exactly_once

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

after_createでレコードを保存した際に、through associationsのレコードが2回保存されてしまう、というバグがあったのを修正しています。


Clear Resolvers' cache after AVLogSubscriberTest tests

actionview/test/template/log_subscriber_test.rbの修正です。

Resolverのcacheをテストの後処理で削除するようにしています。cacheが残ったままになっていると、もう存在しないコンパイル済みのtemplateを使用しようとしてエラーになってしまう為。


Reduce allocations in transition_table (#39943)

actionpack/lib/action_dispatch/journey/gtg/builder.rbの修正です。

GTG builderのtransition tableの構築処理でオブジェクトの生成数を減らすようリファクタリングしています。


Fixed typo AnimalsRecrd -> AnimalsRecord [ci skip]

railties/CHANGELOG.mdの修正です。

エントリー内のタイポを修正しています。


Fix wrong attributes being set in transactions savepoint test.

activerecord/test/cases/transactions_test.rbの修正です。

transactions savepoint testで誤ったattributeに値を設定していたのを修正しています。


Add docs for abstract class generators

rails guideのMultiple Databases with Active Recordの修正です。

Generate abstract class when generating scaffold in another databaseで行ったgeneratorの変更についてのdocを追加しています。