6

ジオコーダーを使用してロケーション ベースの検索を既に実装していますが、meta_search gem の統合に問題があります。meta_search を my に統合してobject_controller index、ユーザーが:attributes場所で検索した後、オブジェクトで検索結果をフィルタリングおよびソートできるようにしようとしています。

私の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

@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

本当にありがとう、

意思

4

1 に答える 1

1

geocoderとquery メソッドの両方がを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)
于 2012-03-27T02:06:02.413 に答える