我似乎无法在任何地方找到一个简单的解决方案。简而言之,我只想能够过滤带有复选框的项目,并可以选择多个框和过滤器工作。参数被输入,但结果不出现(见下文)。
如果我从视图中删除 [],我可以搜索单个项目,但不能搜索多个项目。[] 编码%5B%5D
到 URL 中,我认为这是搜索不起作用的部分原因。请任何可以帮助的人。
控制器:
@cars = if params[:colour_category]
Car.where('colour_category LIKE ? OR design LIKE ?', "%#{params[:colour_category]}%", "%#{params[:design_category]}%")
else
Car.all
end
Run Code Online (Sandbox Code Playgroud)
看法:
<%= form_tag cars_path, method: :get do %>
<%= check_box_tag('colour_category[]', "Yellow") %>
<%= check_box_tag('colour_category[]', "Blue") %>
<%= check_box_tag('design_category[]', "Luxury") %>
<%= submit_tag "Submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
提交后服务器中的参数示例: Parameters: {"utf8"=>"?", "colour_category"=>["Yellow", "Blue"], "commit"=>"Submit"}