0

지오 코더 젬이 설치된 Ruby on Rails 앱이 있습니다. rake geocode : all을 사용하여 데이터베이스의 모든 행 (약 2500)을 대량으로 지오 코딩하려고합니다. 명령을 실행할 때 아무 일도 일어나지 않았습니다. 어떤 행도 지오 코딩되지 않았습니다. 내가 여기서 뭔가를 놓치고 있니?Geocoder gem 'rake geocode : all CLASS = Model'not working

Model.rb

geocoded_by :fulladdress 
after_validation :geocode 

def fulladdress           
    [address, city, state, zip].compact.join(",") 
end 
+0

활성 레코드 또는 mongoid를 사용하고 있습니까? –

+0

위도, 경도 필드가 db에 있습니까? –

+0

활성 레코드를 사용하는 경우에만 –

답변

2

그냥 수동으로 레이크 작업의 외부 실행하려고 (예 : 콘솔 레일 또는 레일 러너) :

당신이 개발을 할 경우
Model.find_each {|m| m.save! } 

가 빠른 봐 출력 된 SQL 문을 통해 "UPDATE 모델 SET lat = ?, lon =? ..."행이있는 경우

+0

'rake geocode : all CLASS = Model'명령이 아무것도 출력하지 않습니다. 'Model.find_each {| m | m.save! } '.. 나는 너를 정확하게 얻지 못했다. –

+0

그러면 모든 모델에 대해 유효성 검사 + 저장이 실행됩니다. 코드가 잘 보이고 저장하면 지오 코딩도 실행됩니다. 모든 오류는 "저장!"에 의해 제기되어야합니다. Google을 지오 코딩 백엔드로 사용하는 경우 수면 1도 포함시켜야합니다. 그렇지 않으면 스로틀됩니다. – stwienert