2014-09-12 32 views
0

我有來自MaxMind的GeoIP.dat(國家)和GeoLiteCity.dat(城市)數據。國家數據在我的本地Rails開發中運行良好,但是當我嘗試查找城市數據時,它返回null。Rails GeoLiteCity GeoIP在本地開發環境中不起作用

但是,當我部署到Heroku時,城市數據確實會返回正確的值。任何想法爲什麼國家數據在當地的發展中工作,而城市數據卻沒有?

工程在Heroku上,而不是在本地:

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

工作在兩個:

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

回答

0

我的猜測是,由於某些原因的MaxMind進入了專用IP網絡進入該國的數據庫,但[正確如此]沒有爲城市數據庫。

你應該編碼的東西,如果你沒有得到一個結果,你把它設置爲某些東西(如果你依賴於其他地方)。它發生了(特別是在開發中)。在我的項目中,我將它設置到公司總部的城市。

+0

是的,我在if語句中添加以檢查它是否存在,如果是,則獲取geoip數據,否則跳過它。但我仍然有一堆「不必要」的提交,同時試圖讓所有的工作,因爲我必須在英雄測試:) – 2014-09-12 18:18:32

+0

@TomHammond你不能在本地測試嗎? – 2014-09-12 19:27:26

+0

不,至少不是與城市geoip部分:(這太可怕了...... – 2014-09-12 20:20:33

相關問題