My approach to solving this issue will use: offset and: limit parameters for find ()
there is also a distance field for geokit models : order => 'distance asc'
eg.
page = 0 unless params[:page] items_per_page = 20 offset = page * items_per_page @find = Item.find(:all, :origin =>[self.geocode.lat.to_f,self.geocode.lng.to_f], :within=>50, :include=>[:programs], :conditions=>["programs.name = ?", self.name], :order => 'distance asc', :limit => items_per_page, :offset => page)
source share