2022-11-09 Rails form_with の local オプションの歴史
Rails 5.1 で form_with が登場
Rails 5.1 で form_with
が登場し、それまで使われていたform_for
やform_tag
は非推奨となった。
Rails 5.1〜7.0: ‘form_with’ APIドキュメント(翻訳)|TechRacho by BPS株式会社
form_with 登場当初はAjaxリクエストがデフォルトだった
form_with
登場当初、何もオプションを付けなかった場合、下記のように remote="true"
となり、デフォルトはAjaxリクエストが送信される。
<!-- Rails 6.1まで -->
<form action="/posts" method="post" data-remote="true">
これをAJAXリクエストなしにしたい場合は下記のようなlocal: true
オプションが必要であった。
<%= form_with(model: @article, local: true) do |form| %>
...
<% end %>
Rails 6.1 から local: true がデフォルトになった
Rails 6.1 からはlocal: true
(AJAXリクエストを送らない)がデフォルトになった。
Rails 6.1で form_withのデフォルトが「remoteなし」になった(翻訳)|TechRacho by BPS株式会社
これによりさっきのコードはlocal: true
オプションを外してもOKになった。
<%= form_with(model: @article) do |form| %>
...
<% end %>