【问题标题】:Using Rails 3 with Geokit-rails3 location gem使用带有 Geokit-rails3 位置 gem 的 Rails 3
【发布时间】:2011-03-09 09:56:24
【问题描述】:

我正在尝试在 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

【问题讨论】:

    标签: ruby-on-rails-3 geokit


    【解决方案1】:

    我刚遇到这个问题并通过输入完整解决了它

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

    这似乎为我解决了问题。

    【讨论】:

      【解决方案2】:

      遇到了同样的问题,无法通过上述建议让 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]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多