なるようになるブログ

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

rails commit log流し読み(2018/06/11)

2018/06/11分のコミットです。

CHANGELOGへの追加はありませんでした。


Fix alias confliction when joining same table on has many through with left_joins

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

has many through + left_joinsで同じテーブルをjoinした場合に、そのテーブルに同じaliasが使われてしまい、結果エラーになるSQLが生成されてしまうバグがあったのを修正しています。


Merge pull request #33093 from rails/use-rack-to-dump-query

actionpack/lib/action_controller/test_case.rbの修正です。

ActionController::TestRequestクラスでqueryを生成するのにHash#to_queryメソッドを使用していたのを、Rack::Utils.build_nested_queryを使用するよう修正しています。

Hash#to_queryはメソッド内で値をソートしてしまっており、結果、送信したparamsと生成されれる内容が一致しない、という問題があった為、Rack::Utils.build_nested_queryを使用するようにしています。


Merge pull request #32956 from Shopify/i18n_activemodel_errors_full_message

activemodel/lib/active_model/errors.rbactivemodel/lib/active_model/railtie.rbの修正です。

ActiveModel::Errors#full_messageメソッドで出力するエラーメッセージのフォーマットを変更出来るよう修正しています。

元々、:"errors.format"で上書き出来るようになっていましたが、これは全体に影響がある設定で、attribute個別の上書きは出来ませんでした。で、今回左記以外のkeyで、フォーマットの上書きが出来るようになっています。具体的には、

activemodel.errors.models.person/contacts/addresses.attributes.street.format
activemodel.errors.models.person/contacts/addresses.format
activemodel.errors.models.person.attributes.name.format
activemodel.errors.models.person.format

のように、model + attributes + format、又は、model + formatのkeyを追加で見るようになっています。

なお、このkeyは、config.active_model.i18n_full_messageにtrueを指定した場合にだけ見に行くようになっています。


Remove redundant accessors

actioncable/test/stubs/test_adapter.rbの修正です。

不要なsubscribe_called accessorを削除しています。