Ruby on rails 与GET请求一起提交的Rails表单未在URL中放置querystring参数

Ruby on rails 与GET请求一起提交的Rails表单未在URL中放置querystring参数,ruby-on-rails,Ruby On Rails,从RailsGuide Action View Form Helpers文章的“1.1 A通用搜索表单”部分开始,使用以下代码: <% form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Sea

从RailsGuide Action View Form Helpers文章的“1.1 A通用搜索表单”部分开始,使用以下代码:

<% form_tag(search_path, :method => "get") do %>
  <%= label_tag(:q, "Search for:") %>
  <%= text_field_tag(:q) %>
  <%= submit_tag("Search") %>
<% end %>
“get”)do%>
提交此表单时,结果URL为“/search” ,而不是预期的“/search?q=searchterm”

《铁路指南》的文章甚至说

使用“GET”作为搜索表单的方法。这允许用户将特定搜索添加到书签中,然后返回。更一般地说,Rails鼓励您对操作使用正确的HTTP动词

但是,如果URL中不包含querystring参数,则不可能为特定搜索添加书签。为什么会发生这种情况?对此可以做些什么?

试试看

`<%= form_with url: search_path, method: :get do |f| %>
  <%= f.label :q, "Search for: " %>
  <%= f.text_field :q %>
  <%= f.submit :Submit%>
 <% end %>`
`
`

form_with是rails 6的更新rails帮助程序

这并不能解决问题。提交表单时,浏览器URL仍然是没有querystring参数的搜索路径。