Integration of meta_search gem in an index with an existing geocoder gemstone search (rails)

I have already implemented a location search using a geocoder, and I am having problems integrating the meta_search gem. I am trying to integrate meta_search into my object_controller index so that users can filter and sort the search results using :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 @search into the index required by meta_search stone?

Here is what 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 

Many thanks,

Will

+6
source share
1 answer

I believe that the geocoder and meta_search request methods return ActiveRecord::Relation , so you should be able to bind them:

 @objects = Object.near(params[:search], 50, :order => :distance).search(params[:search]).relation.paginate(:page => params[:page], :per_page => 9) 

or if you need a separate search object:

 @search = Object.near(params[:search], 50, :order => :distance).search(params[:search]) @objects = @search.relation.paginate(:page => params[:page], :per_page => 9) 
+1
source

All Articles