2014-01-06 1 views
1

왜 것하지레일즈 콘솔에서 지오 코드 레코드를 어떻게 바꿀 수 있습니까?

Location.where(address: nil).each do |location| 
    location.reverse_geocode 
    location.save! 
end 

일,

class Location < ActiveRecord::Base 
    reverse_geocoded_by :latitude, :longitude 
    after_validation :reverse_geocode 
end 

역 지오 새로운 위치 동안? 콘솔에서 오류가 발생하지 않고 주소 값이 여전히 nil 인 activerecord 관계 만 반환됩니다.

+0

매우 이상합니다! 쾅하지 않고 그냥 저장하십시오. 건너 뛰는 콜백에 의존 할 수 있습니다. – AJcodez

+0

아니, 운이 없다. 너에게 효과가 있니? 지오 코딩 공급자의 응답을 기다리지 않고 레일 콘솔과 관련이있을 수 있습니까? – user

+0

사실. 보통의 재시작 콘솔, 데이터베이스를 시도해보십시오. 한 시간 정도 기다리십시오. 속도가 제한적이었던 경우를 대비하여 다시 시도하십시오. 캐싱 중이라면 캐시 서버를 다시 시작하십시오. 캐시를 지우는 경우 일 수도 있습니다. – AJcodez

답변

0

와 함께 그래서 내 원래의 솔루션 난 그냥 내 컴퓨터를 다시 시작했다 일을하려고합니다. 이상하게도 콘솔, 서버 및 편집기를 다시 시작한 것은 아무 것도 아니므로 RVM을 사용하여 어두운 마술이 진행되고 있다고 생각됩니다.

모두에게 도움을 주셔서 감사합니다.

1

location.address = location.reverse_geocode 
location.save! 
+0

작동하지 않았습니다. :/ – user

+0

오늘 아침에 작업을 시작했습니다. 콘솔 재시동이 작동하지 않았지만 전체 시스템을 재시작했습니다. RVM/내 보석 목록과 관련이있을 수 있습니다. 도와 주셔서 감사합니다. – user

+0

오, 기다려, 나는'location.reverse_geocode'를 사용했다 ... – user