Настройка сценария геолокации солнечных пятен

Я использую Sunspot для поиска и использую Geocoder для адресов, а затем для вычисления расстояний, Геокит-рельсы3 .

class Product < ActiveRecord::Base
  belongs_to :store
  searchable do
    text :name
  end 
end

class Store < ActiveRecord::Base
  acts_as_mappable
  geocoded_by :address, :latitude => :lat, :longitude => :lng
  attr_accessible :lat, :lng, :address
  has_many :products
end

Вопрос

При вводе продукта для поиска я хочу также иметь возможность вводить адрес внутри другого поля для поиска продуктов в данной области с радиусом 30 миль.

Это мой контроллер, который позволяет мне искать продукты:

class SearchController < ApplicationController

  def index
    @search = Product.search do |q|
      q.fulltext params[:search]
    end
    @products = @search.results
  end
end

Итак, я считаю, что форма будет выглядеть примерно так, когда я закончу:

<%= form_tag search_path, :method => 'get' do %>
        <%= text_field_tag :search, params[:search]" %>
        <%= submit_tag "Search", :name => nil %>
        

Search Near:

<%= label_tag :location, "Search nearby an Address" %> <%= text_field_tag :location, params[:location] %> <% end %>

Я думаю, : location будет служить в качестве виртуальный атрибут для магазинов : адрес для правильного отображения поля, но это все предположения.

Как мне настроить все это, чтобы реализовать конкретный сценарий?

5
задан 32 revs 11 December 2011 в 20:17
поделиться