[英]multiply facets in tire?
使用ROR 4.01,elasticsearch和轮胎宝石。
文章模型
class Article
belongs_to: region
belongs_to: house
end
def self.search(params)
tire.search(page: params[:page], per_page: 12) do
query { string params[:query], default_operator: "AND" } if params[:query].present?
filter :term, region_id: params[:region_id] if params[:region_id].present?
filter :term, house_id: params[:house_id] if params[:house_id].present?
facet "regions" do
terms :region_id
end
facet "houses" do
terms :house_id
end
end
end
物品管制员
def index
if params[:query].present?
@articles = Article.search(params)
else
@articles = Article.all
end
end
文章索引视图
%h3 Regions
%ul
- @articles.facets['regions']['terms'].each do |facet|
%li
= link_to_unless_current Region.find(facet['term']).name, params.merge(region_id: facet['term'])
- if params[:region_id] == facet['term'].to_s
(#{link_to "remove", region_id: nil})
- else
(#{facet['count']})
%h3 House Owners
%ul
- @articles.facets['houses']['terms'].each do |facet|
%li
= link_to_unless_current House.find(facet['term']).name, params.merge(house_id: facet['term'])
- if params[:house_id] == facet['term'].to_s
(#{link_to "remove", house_id: nil})
- else
(#{facet['count']})
根据地区或房屋所有者对文章进行过滤/构面。 但不是两个。 如何一起工作?
那么使用多个方面? 那可能吗?
谢谢
REMCO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.