2021/11/15分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Support rendering
<form>
elements without[action]
attributes by: - Add support for
button_to ..., authenticity_token: false
activestorage/CHANGELOG.md
Merge pull request #42051 from seanpdoyle/form-empty-action
Action Viewの修正です。
form
タグを生成するメソッド(form_with
、form_for
、form_tag
、button_to
)で、action
attribute無しのform
タグを生成出来るよう修正しています。form_xx
系のメソッドはurl: false
かaction: false
を指定すれば、button_to
は引数にfalseを指定すればaction
attributeが生成されないようになります。
<%= form_with url: false do |form| %> <%= form.text_field :title %> <% end %>
=>
<form method="post" data-remote="true"> <input type="text" name="title"> </form>
なお、action
attributeが無いとブラウザは現在のページに対する操作とみなすようになっており、下記のような要素の並び替えようのform
を生成するのに使うことを想定している、との事です。
<form method="get"> <button name="sort" value="desc">Most to least</button> <button name="sort" value="asc">Least to most</button> </form>
Merge pull request #43417 from seanpdoyle/button-to-authenticity-token
actionview/lib/action_view/helpers/url_helper.rb
の修正です。
button_to
メソッドで生成するform
でauthenticity tokenを含めるよう修正しています。
button_to "Create", Post.new, authenticity_token: true # => <form class="button_to" method="post" action="/posts"><button type="submit">Create</button><input type="hidden" name="form_token" value="abc123..." autocomplete="off" /></form> button_to "Create", Post.new, authenticity_token: "secret" # => <form class="button_to" method="post" action="/posts"><button type="submit">Create</button><input type="hidden" name="form_token" value="secret" autocomplete="off" /></form>
Merge pull request #38957 from DmitryTsepelev/store-per-attachment-direct-upload
Active Storage、Action Viewの修正です。
Active Storageのdirect upload処理で、upload先を引数で指定出来るよう対応しています。
Fix broken rdoc for form_with [ci skip]
actionview/lib/action_view/helpers/form_helper.rb
のdocの修正です。
form_with
メソッドのdoc内でフォーマットが壊れてしまっていたのを修正しています。
actionview/lib/action_view/helpers/tag_helper.rb
のdocの修正です。
form_with
メソッドのdoc内でコメント部分に#
が不足していたのを修正しています。
railties/lib/rails/tasks/yarn.rake
の修正です。
yarn
を実行するのにbinstubを使用していたのをyarn
コマンドを直接実行するよう修正しています。Rais 7からyarn
のbinstubは生成されなくなった為。合わせて、assets:precompile
task実行時のyarn:install
task実行処理も削除しています。
Improve compatibility with date
versions 3.2.1
, 3.1.2
, 3.0.2
and 2.0.1
activesupport/lib/active_support/values/time_zone.rb
の修正です。
ActiveSupport::TimeZone#iso8601
メソッドで、メソッドの先頭で引数がnilかどうかをチェックするよう修正しています。元々はDate._iso8601
にnilを指定してもエラーにならなかったのですが、date
の3.2.1からDate._iso8601
にnilを指定するとTypeError
が発生するようになってしまったので、Date._iso8601
を呼び出すより前に引数チェックをするようにしています。
参考: Date._iso8601 regression following the 3.2.1 security fix
Set the execution context from AC::Metal rather than AbstractController
actionpack/lib/abstract_controller/base.rb
、
actionpack/lib/action_controller/metal/instrumentation.rb
の修正です。
execution contextの指定をAbstractController
で行っていたのを、ActionController::Metal
で行うよう修正しています。AbstractController
だと、想定していなかったmailerの処理でもcontextが設定されてしまう為。