3

Rails アプリケーションの位置情報に geokit-rails3 gem を使用しようとしています。私は単純なモデルを持っています:

class Location < ActiveRecord::Base
  def lookup_ip_information(post_ip)
    ip = post_ip
    location = IpGeocoder.geocode(ip)
    puts location.full_address
    lat = location.lat
    lng = location.lng
  end
end

コントローラーからこのメソッドを呼び出すとrequest.remote_ip、エラーがスローされます。uninitialized constant Location::IpGeocoder

4

2 に答える 2

7

この問題が発生したばかりで、完全な

Geokit::Geocoders::IpGeocoder.geocode(request.remote_ip)

それは私にとってそれを解決するように見えました。

于 2011-03-31T00:13:20.073 に答える
1

同じ問題があり、上記の提案で IpGeocoder を Rails3 で動作させることができませんでした。gem の Rails3 ソース コードを掘り下げます。これを回避する簡単な方法は、Rails 3 の Geokit MultiGeocoder メソッドを使用することです。

例: loc = Geokit::Geocoders::MultiGeocoder.geocode(remote.request_ip)

イニシャライザで MultiGeocoder を正しく設定することを忘れないでください - geokit_config.rb Geokit::Geocoders::provider_order = [:google,:us]

于 2016-01-06T23:46:31.153 に答える