小编dgr*_*n22的帖子

Rails 5 复选框过滤器

我似乎无法在任何地方找到一个简单的解决方案。简而言之,我只想能够过滤带有复选框的项目,并可以选择多个框和过滤器工作。参数被输入,但结果不出现(见下文)。

如果我从视图中删除 [],我可以搜索单个项目,但不能搜索多个项目。[] 编码%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"}

ruby-on-rails

5
推荐指数
1
解决办法
523
查看次数

标签 统计

ruby-on-rails ×1