2014-01-06 40 views
1

爲什麼不如何從Rails控制檯反轉地理編碼記錄?

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 

反向地理編碼任何新的位置? 控制檯沒有錯誤,它只是返回地址值仍然爲零的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