2014-09-12 6 views
0

MaxMind의 GeoIP.dat (국가) 및 GeoLiteCity.dat (도시) 데이터가 있습니다. 국가 데이터는 내 로컬 레일 개발에서 잘 작동하지만 도시 데이터를 찾으려고 할 때 null을 반환합니다.레일 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 문에 추가했는지 확인하기 위해 if 문에 추가했습니다. 그렇다면 geoip 데이터를 가져오고, 그렇지 않으면 건너 뜁니다. 그러나 나는 여전히 많은 "불필요한"커밋을 가지고 있는데, 왜냐하면 나는 영웅으로 테스트해야하기 때문에 모든 것을 작동 시키려고 노력하고있다. –

+0

@TomHammond 당신은 전혀 테스트 할 수 없다? –

+0

아니, 적어도 도시 geoip 부분과 조각 : (. 그것은 끔찍한 ... –