Rails GeoLiteCity GeoIP在本地开发环境中不起作用

时间:2014-09-12 13:48:18

标签: ruby-on-rails heroku geoip

我有来自MaxMind的GeoIP.dat(country)和GeoLiteCity.dat(city)数据。国家数据在我的本地Rails开发中运行良好,但是当我尝试查找城市数据时,它返回null。

但是当我部署到Heroku时,城市数据会返回正确的值。知道为什么国家数据在地方发展中起作用而城市数据没有?

在Heroku中工作,而不是在本地工作:

geoip = GeoIP.new('geoip/GeoLiteCity.dat').city(request.remote_ip)

适用于:

geoip = GeoIP.new('geoip/GeoIP.dat').country(request.remote_ip)

1 个答案:

答案 0 :(得分:0)

我的猜测是,出于某种原因,Maxmind进入私人IP网络进入国家数据库,但[正确地说]并没有进入城市数据库。

你应该对事物进行编码,这样如果你没有得到结果,你可以将它设置为某种东西(如果你在其他地方依赖它)。它发生了(特别是在开发中)。在我的项目中,我将它设置为公司总部的城市。