2011-07-20 8 views
6

Zaten geocoder kullanarak konum tabanlı bir arama gerçekleştirdim ve meta_search gem'i bütünleştirme konusunda sorun yaşıyorum. Kullanıcıların arama sonuçlarının bir yere göre arama yaptıktan sonra index içine arama ve filtrelemesini sağlamak için meta_search'i entegre etmeye çalışıyorum.Mevcut geocoder gem aramasıyla (endeksler) meta_search geminin bütünleştirilmesi

Benim 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 

Bir fikrin nasıl en iyi meta_search taş gerektirdiği dizin içine @search entegre etmek? geocoder ve meta_search sorgu yöntemleri basmanız gereken bir ActiveRecord::Relation dönmek ben hem inan

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 

Çok teşekkürler

Will

cevap

1

: Burada

meta_search github endeksi için tavsiye nedir Bunları zincirleyebilmeli:

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

veya ayrı olması için arama nesnesine gereksiniminiz varsa:

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