2015-06-21 66 views
1

我有他们输入的用户的邮政编码,并且想要预先填充城市/州的几个字段。有谁知道获取这些信息的好方法吗?我想要做这样的事情:Rails从ZIP获取状态Geoip

GeoIP.new('geoip/GeoLiteCity.dat').zip('53593') 

我知道我能做到GeoIP.new('geoip/GeoLiteCity.dat').city(request.remote_ip)但是这也正是他们在,而不是他们实际上可能居住的时间。

+0

链接到这个库? – Chloe

回答

3

我不认为geoip红宝石(Github repo)有能力通过邮政编码进行搜索。当扫描the geoip.rb source时,没有方法zippostal_code

还有另一个宝石,my_zipcode_gem,你可以使用。这也是hosted on Github和语法如下:

zipcode = Zipcode.find_by_code '66206' 
zipcode.state.abbr # => 'KS' 
zipcode.city   # => 'Shawnee Mission' 
zipcode.county.name # => 'Johnson' 
zipcode.lat.to_s  # => '38.959356', it is actually a BigDecimal object converted to_s for documentation. 
zipcode.lon.to_s  # => '-94.716155', ditto 
zipcode.is_geocoded? # => true, most if not all should be pre-geocoded.