如何将多个表单提交到单个查询字符串

时间:2016-04-02 20:33:10

标签: html ruby-on-rails forms query-string

我有以下rails索引页

搜索/ index.haml

= form_tag search_path, method: 'get' do
  = text_field_tag :q, params[:q], placeholder: 'Search...'
  = submit_tag 'search'

= link_to 'testing', search_path(params.except(:controller, :action).merge(p: 'testing'))

输入价值"产品"并提交表单给我这个查询字符串

http://localhost:3000/search?utf8=✓&q=product

提交表单后点击链接给我

http://localhost:3000/search?p=testing&q=product&utf8=✓

有没有办法可以添加另一个表单并将其提交给现有的查询字符串,就像链接的行为方式一样?

我们的想法是使用第二种形式作为搜索聚合/方面的一部分。

1 个答案:

答案 0 :(得分:0)

只需创建网址的方式与创建链接的网址相同:

form_tag search_path(params.except...)

...并将您的字段名称从q更改为q[],以便Rails了解您正在发送一系列值。

然后,在服务器端,您需要将这些内容与以下内容联系起来:query = params[:q].join " "