问题描述
<%= link_to 'test',request.params.except(:page) %>
是否可以通过表单来执行此操作?我以为这可以用,但不能保持参数
<%= form_with(path: request.params.except(:page),method: "get",local: true) do %>
这也不起作用
<%= form_with(path: params.except(:page),local: true) do %>
解决方法
我无法使用形式在URL中传递参数。感觉有些棘手,但是以下操作通过将参数作为隐藏字段发送而起作用。例如,如果您想在搜索表单中保留名为“ state”和“ order”的参数,则可以执行此操作。这比我上面尝试的要安全,因为它明确地将允许的参数列入了白名单(而不是删除不需要的参数,例如上面的“页面”)
<% request.params.slice("state","order").each do |key,value| %>
<%= hidden_field_tag key,value %>
<% end %>