如何使用 Ransack 使用复选框构建高级搜索?
How build a advanced search with checkbox using Ransack?
我如何构建高级搜索这个图像:
我有我的控制器,还很基础:
def index
@q = Product.ransack(params[:q])
@products = @q.result(distinct: true)
end
并发表我的看法:
<%= search_form_for @q do |f| %>
<%= f.label :name_cont, "Name" %>
<br />
<%= f.search_field :name_cont %>
<br />
<%= f.label :brand, "Brand" %>
<br />
<%= f.collection_check_boxes :brand, Product.all, :id, :brand %>
<br />
<%= f.label :hd, "HD" %>
<br />
<%= f.collection_check_boxes :hd, Product.all, :id, :hd %>
<br />
<%= f.label :ram, "RAM" %>
<br />
<%= f.collection_check_boxes :ram, Product.all, :id, :ram %>
<br />
<%= f.submit "Search" %>
<% end %>
但是,唯一对搜索起作用的是输入名称。我有两个问题。 1º 复选框不起作用。 2º 一些复选框是重复的,因为我输入了 Product.all,但也输入了不同的,但没有任何效果 =/
你能帮帮我吗?
您可以尝试关注品牌、高清和内存
<% Product.pluck('distinct brand').each do |brand| %>
<%= check_box_tag('q[brand_cont_any][]', brand ) %>
<%= brand %>
<% end %>
我如何构建高级搜索这个图像:
我有我的控制器,还很基础:
def index
@q = Product.ransack(params[:q])
@products = @q.result(distinct: true)
end
并发表我的看法:
<%= search_form_for @q do |f| %>
<%= f.label :name_cont, "Name" %>
<br />
<%= f.search_field :name_cont %>
<br />
<%= f.label :brand, "Brand" %>
<br />
<%= f.collection_check_boxes :brand, Product.all, :id, :brand %>
<br />
<%= f.label :hd, "HD" %>
<br />
<%= f.collection_check_boxes :hd, Product.all, :id, :hd %>
<br />
<%= f.label :ram, "RAM" %>
<br />
<%= f.collection_check_boxes :ram, Product.all, :id, :ram %>
<br />
<%= f.submit "Search" %>
<% end %>
但是,唯一对搜索起作用的是输入名称。我有两个问题。 1º 复选框不起作用。 2º 一些复选框是重复的,因为我输入了 Product.all,但也输入了不同的,但没有任何效果 =/ 你能帮帮我吗?
您可以尝试关注品牌、高清和内存
<% Product.pluck('distinct brand').each do |brand| %>
<%= check_box_tag('q[brand_cont_any][]', brand ) %>
<%= brand %>
<% end %>