我正在开发一个ruby应用程序,该应用程序根据您的IP地址来精确定位您的位置。我虽然遇到了路障。我已经在该站点上进行了搜索,但是已经找到的解决方案太笼统了。
这是错误:
uninitialized constant Place::IpGeocoder (NameError)
我正在开发的代码:
require 'socket'
require 'geocoder'
require 'geokit'
class Place
def get_location
ip = UDPSocket.open {|s| s.connect("64.233.187.99", 1); s.addr.last}
location = IpGeocoder.geocode(ip.to_s())
end
end
me=Place.new
me.get_location
我已经安装了宝石。我是否需要创建它的实例或类似Java的东西?
您需要按照doc进行以下操作Geokit::Geocoders::IpGeocoder
。
Geokit::Geocoders::IpGeocoder.geocode(ip.to_s())
该类IpGeocoder
在模块内部定义Geokit::Geocoders
。因此,要访问该类,您需要使用该类的完整路径,即Geokit::Geocoders::IpGeocoder
使用范围解析操作符::
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句