我已经使用地理编码器实现了基于位置的搜索,但在集成 meta_search gem 时遇到了问题。我正在尝试将 meta_search 集成到我的 object_controller
中index
允许用户按对象过滤和排序搜索结果 :attributes
在他们已经按位置搜索之后。
我的对象 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
知道如何最好地将 @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
非常感谢,
将要
最佳答案
我相信geocoder
和 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)
关于ruby-on-rails - 将索引中的 meta_search gem 与现有的地理编码器 gem 搜索(rails)集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6765012/