我有以下搜索表格,也应该执行过滤:
<%= 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"}}
。请注意,过滤器参数是嵌套的
我找不到使用标准rails form helper来做到这一点的方法。有没有办法做到这一点?
答案 0 :(得分:8)
在所需的嵌套键周围使用[]
。在您的示例中,将check_box更改为:
<%= check_box_tag 'filter[field]', 'value', true %>
如果您想要表格中的内容:
{ "filter" => { "subfilter" => { "field" => "value" } } }
您可以添加另一个[]
:
<%= check_box_tag 'filter[subfilter][field]', 'value', true %>