Ruby on rails 提交使用form_标记生成的表单时传递额外参数

Ruby on rails 提交使用form_标记生成的表单时传递额外参数,ruby-on-rails,forms,get,params,form-helpers,Ruby On Rails,Forms,Get,Params,Form Helpers,我有一张表格: <%= form_tag(example_path, method: :get) do %> … <% end %> 我已尝试将哈希传递到路径帮助器,但忽略了参数: form_tag(example_path(example: 1), method: :get) 如何在不使用隐藏字段的情况下添加此参数为了实现您的目标,您需要更新您的路线: # config/routes.rb get "example/:your_param" => "your

我有一张表格:

<%= form_tag(example_path, method: :get) do %>
…
<% end %>
我已尝试将哈希传递到路径帮助器,但忽略了参数:

form_tag(example_path(example: 1), method: :get)

如何在不使用隐藏字段的情况下添加此参数

为了实现您的目标,您需要更新您的路线:

# config/routes.rb

get "example/:your_param" => "your_controller#example", :as => :example
然后,您将能够在您的视图中执行此操作:

<%= form_tag (example_path('value'), method: :get) do %>
....

....

我希望这是有意义的,并能对您有所帮助。

这很奇怪,如果我去掉
方法::get
它会用表单的值传递额外的参数,但是如果我添加
方法::get
,它会忽略它们。可能是因为表单被序列化并作为get参数传递,替换了“手动”定义的参数——解决方法是使用post和get参数:
form_标记(example_path(example:1))
:params[:example]是一个GET参数,而表单中的所有参数都是POST@MrYoshiji不幸的是,这是一个搜索表单,我想要URL中的参数。我知道,也许你可以使用Javascript手动添加它,但添加额外的GET参数的最佳方法仍然是隐藏字段。
<%= form_tag (example_path('value'), method: :get) do %>
....