rom*_*man 4 html ruby forms ruby-on-rails
我有以下搜索表格,也应该执行过滤:
<%= 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 %>
Run Code Online (Sandbox Code Playgroud)
我现在要做的是在嵌套哈希中包装过滤参数,以便我在params中有如下内容:{"utf8"=>"?", "search"=>"term", "action"=>"index", "controller"=>"search", "filter" => {"field" => "value"}}.请注意,过滤器参数是嵌套的
我找不到使用标准rails表单助手的方法.有没有办法做到这一点?
使用[]您想要的嵌套键.在您的示例中,将check_box更改为:
<%= check_box_tag 'filter[field]', 'value', true %>
Run Code Online (Sandbox Code Playgroud)
如果您想要表格中的内容:
{ "filter" => { "subfilter" => { "field" => "value" } } }
Run Code Online (Sandbox Code Playgroud)
你会添加另一个[]:
<%= check_box_tag 'filter[subfilter][field]', 'value', true %>
Run Code Online (Sandbox Code Playgroud)