Reputation: 9786
In Rails 7 a form generated with form_with
tag sends remote request by default (turbo.js handles form submit event instead, whatever).
Previously one would pass remote: false
or local: true
parameters to form helper, to get just a regular HTML form behavior.
But not anymore, this doesn't work:
<%= form_with scope: :session, url: session_path, local: true do |form| %>
<p><%= form.label :email %></p>
<p><%= form.text_field :email %></p>
<p class="mt"><%= form.label :password %></p>
<p><%= form.password_field :password %></p>
<p class="mt"><%= form.submit "Enter" %></p>
<% end %>
What option should I pass to form_with helper in order to get a non-XHR request from my form?
Upvotes: 10
Views: 4321
Reputation: 9786
You actualy need to pass a data: {turbo: false}
to make form send a regular request:
<%= form_with scope: :session, url: session_path, data: {turbo: false} do |form| %>
<p><%= form.label :email %></p>
<p><%= form.text_field :email %></p>
<p class="mt"><%= form.label :password %></p>
<p><%= form.password_field :password %></p>
<p class="mt"><%= form.submit "Enter" %></p>
<% end %>
Upvotes: 11