我正在使用Tire和Elasticsearch,并且成功地遵循了这个railscast教程:http://railscasts.com/episodes/307-elasticsearch-part-2
我设置了一个方面,允许用户按状态过滤结果:
从我的模特:
def self.search(params)
tire.search(page: params[:page], per_page: 15) do
query do
boolean do
must { string params[:query], default_operator: "AND" } if params[:query].present?
end
end
facet "states" do
terms :state
end
end
end
此外,在视图中,我提供了一组链接,允许用户将结果集缩小为仅显示与其选择的状态匹配的值:
- @results.facets['states']['terms'].each do |facet|
%li= link_to facet['term'], params.merge(state: facet['term'])
这个清单很长。我希望从链接列表转换到选择特定选项(状态)时更新结果集的下拉选项。
我想知道如何实现这一点 - 我已经看了一下select form helper,我还没有看到用选项填充select的方法,选中后会更新页面。