なるようになるブログ

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

rails commit log流し読み(2021/01/09)

2021/01/09分のコミットです。

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

actionview/CHANGELOG.md


Fix failing tests introduced by #41030

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

Fix preventing writes for ApplicationRecordの対応の影響でisolationテストがfailするようになってしまってしたのを修正しています。


Merge pull request #41052 from bogdanvlviv/preload_links_header-clarification

railties/test/application/configuration_test.rb、及び、rails guideのConfiguring Rails Applicationsの修正です。

Results of config.load_defaultsの項に、config.action_view.preload_links_headerについての説明を追加、load_defaults 6.0した際のpreload_links_headerのデフォルト値について確認するテストを追加しています。


Merge PR #41055

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

configに、action_view.button_to_generates_button_tagを指定しても、そのconfigが反映されないバグがあったのを修正、及び、docにconfig.action_view.button_to_generates_button_tagについての説明を追加しています。


Merge pull request #41043 from dbussink/default-sha256-digest

Active Support、railtiesの修正です。

ActiveSupport::Digestでデフォルトのdigest classにSHA1を使用していたのを、SHA256を使用するよう修正しています。


Merge pull request #41014 from dbussink/specific-sha256-usage

Active Supportの修正です。

Digest::SHA2 classを使用している箇所、Digest::SHA2を使用しないよう修正しています。

Digest::SHA2は暗黙的にSHA256を使用するようになっているのですが、OpenSSLには同名のクラスは存在しなく(OpenSSL::Digest::SHA2はない)、OpenSSL配下のクラスをconfig等に使用させる際に混乱の元となる為、Digest::SHA2を使用しないよう修正してます。


Translate FormBuilder#button calls with formmethod:

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

ActionView::Helpers::FormBuilder#buttonformmethod attributeを_method="$VERB"に変換するよう修正しています。1つのフォームで、ボタン毎に異なるHTTP verbを使用出来るようにする為。

<%= form_with model: post, method: :put do %>
  <%= form.button "Update" %>
  <%= form.button "Delete", formmethod: :delete %>
<% end %>

# =>
# <form action="posts/1">
#   <input type="hidden" name="_method" value="put">
#   <button type="submit">Update</button>
#   <button type="submit" formmethod="post" name="_method" value="delete">Delete</button>
# </form>

Fix where on polymorphic association with empty array

activerecord/lib/active_record/relation/predicate_builder/association_query_value.rbactiverecord/lib/active_record/relation/predicate_builder/polymorphic_array_value.rbの修正です。

whereでpolymorphic associationに空のArrayを指定した場合にエラーになってしまうバグがあったのを修正しています。


Inlining force_clear_transaction_record_state

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

専用のメソッドで行っていたtransaction record stateのclear処理を、各箇所でインラインで行うよう修正しています。


Merge pull request #41063 from kamipo/fix_where_with_polymorphic_association_2


Enable Lint/DuplicateRequire cop

.rubocop.ymlactiverecord/test/cases/associations/inverse_associations_test.rbの修正です。

Lint/DuplicateRequire copを追加、及び、activerecord/test/cases/associations/inverse_associations_test.rbから重複していたrequireを削除しています。