我已经使用地理编码器实现了基于位置的搜索,但在集成 meta_search gem 时遇到了问题。我正在尝试将 meta_search 集成到我的object_controller
index
允许用户按对象过滤和排序搜索结果:attributes
在他们已经按位置搜索之后。
我的对象控制器:
def index
if params[:search].present?
@objects = Object.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9)
else
@objects = Object.paginate(:page => params[:page], :per_page => 9)
end
end
知道如何最好地将 @search 集成到 meta_search gem 所需的索引中吗?
以下是 meta_search github 推荐的索引:
def index
@search = Article.search(params[:search])
@articles = @search.all # load all matching records
# @articles = @search.relation # Retrieve the relation, to lazy-load in view
# @articles = @search.paginate(:page => params[:page]) # Who doesn't love will_paginate?
end
非常感谢,
Will
我相信两者geocoder
and meta_search
查询方法返回一个ActiveRecord::Relation
因此你应该能够链接它们:
@objects = Object.near(params[:search], 50, :order => :distance).search(params[:search]).relation.paginate(:page => params[:page], :per_page => 9)
或者如果您需要单独的搜索对象:
@search = Object.near(params[:search], 50, :order => :distance).search(params[:search])
@objects = @search.relation.paginate(:page => params[:page], :per_page => 9)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)