2014-01-06 2 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

true. попробуйте обычную консоль перезагрузки, базу данных, подождите час, попробуйте еще раз, если вы ограничены скоростью, перезапустите сервер кеша, если вы кешируете, возможно, даже очистите кеш – AJcodez

ответ

0

Так что мое оригинальное решение работало, я просто должен был перезагрузить машину. Странно, перезагрузка консоли, сервера и редактора ничего не сделала, поэтому я подозреваю, что с RVM происходит какая-то темная магия.

Спасибо за помощь, всем.

1

попробовать с этим

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

Не работал ..:/ – user

+0

Он начал работать этим утром. Перезагрузка консоли не работала, но перезапуск всей машины выполнялся. Возможно, что-то связано с списком RVM/my gem. Спасибо за помощь. – user

+0

Ой, подождите, я использовал 'location.reverse_geocode' ... – user