5

我有以下搜索表单,它也应该执行过滤:

<%= form_tag search_index_path, method: :get, id: 'search_form' do %>
  <%= text_field_tag :search, params[:search] %>
  <%= check_box_tag 'filter param', 'yes', true %>
  <%= submit_tag "Search", name: nil, class: 'btn' %>
<% end %>

我现在要做的是将用于过滤的参数包装在嵌套哈希中,以便我在 params: 中有如下内容{"utf8"=>"✓", "search"=>"term", "action"=>"index", "controller"=>"search", "filter" => {"field" => "value"}}。请注意,过滤器参数是嵌套的

我找不到使用标准导轨表单助手的方法。有没有办法做到这一点?

4

1 回答 1

11

[]在您想要的嵌套键周围使用。在您的示例中,将您的复选框更改为:

<%= check_box_tag 'filter[field]', 'value', true %>

如果您想要以下形式的内容:

{ "filter" => { "subfilter" => { "field" => "value" } } }

您将添加另一个[]

<%= check_box_tag 'filter[subfilter][field]', 'value', true %>
于 2013-05-20T19:24:34.263 回答