【问题标题】:Setting up sunspot geolocation scenario设置太阳黑子地理定位场景
【发布时间】:2012-01-02 15:38:30
【问题描述】:

我使用Sunspot 搜索地址,使用Geocoder 计算距离,Geokit-rails3

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 %>
        <p> Search Near: </p>
        <%= label_tag :location, "Search nearby an Address" %>
        <%= text_field_tag :location, params[:location] %>
<% end %>

我认为:location 将用作商店:address 的虚拟属性,以便正确映射该字段,但这只是猜测。

如何设置这一切以实现特定场景?

【问题讨论】:

    标签: sunspot sunspot-rails


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      请务必结帐this RailsCast。我认为它完全回答了你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多