将索引中的meta_search gem与现有的geocoder gem search(rails) [英] Integrating meta_search gem in index with existing geocoder gem search (rails)
问题描述
我已经使用地理编码器实现了基于位置的搜索,并且无法集成meta_search宝石。我试图将meta_search集成到我的 object_controller
index
中,以允许用户通过对象:attributes
已经按位置搜索了。
我的object_controller:
def索引
查询方法返回一个
if params [:搜索] .present?
@objects = Object.near(params [:search],50,:order => distance).paginate(:page => params [:page],:per_page => 9)
@objects = Object.paginate(:page => params [:page],:per_page => 9)
end
end
$ c
任何想法如何最好地将@search集成到meta_search gem所需的索引?
$ b $以下是meta_search github建议的索引:
def index
@search = Article。搜索(params [:搜索])
@articles = @ search.all#加载所有匹配记录
#@articles = @ search.relation#检索关系,以延迟加载视图
#@articles = @ search.paginate(:page => params [:page])#谁不爱will_paginate?
end
非常感谢,
我会相信
geocoder
和<$> c $ c> meta_searchActiveRecord :: 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)
I have already implemented a location based search using geocoder and am having trouble integrating the meta_search gem. I'm trying to integrate meta_search into my
object_controller
index
to allow users to filter and sort search results by an objects:attributes
after they have already searched by location.My object_controller:
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
Any idea how best to integrate the @search into the index required by the meta_search gem?
Here is what the meta_search github recommends for the index:
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
Thanks so much,
Will
解决方案I believe both the
geocoder
andmeta_search
query methods return anActiveRecord::Relation
therefore you should be able to chain them:@objects = Object.near(params[:search], 50, :order => :distance).search(params[:search]).relation.paginate(:page => params[:page], :per_page => 9)
or if you need the search object to be separate:
@search = Object.near(params[:search], 50, :order => :distance).search(params[:search]) @objects = @search.relation.paginate(:page => params[:page], :per_page => 9)
这篇关于将索引中的meta_search gem与现有的geocoder gem search(rails)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!