Как я могу отменить записи геокодирования из консоли 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 с нулевыми значениями адресов.


person user    schedule 06.01.2014    source источник
comment
очень странный! попробуй без челки и просто save ее. Возможно, он полагается на обратные вызовы, которые пропускаются.   -  person AJcodez    schedule 06.01.2014
comment
Нет, не повезло. Работает ли это для вас? Может ли это быть связано с тем, что консоль rails не ожидает ответа от поставщика геокодирования?   -  person user    schedule 06.01.2014
comment
истинный. попробуйте обычный перезапуск консоли, базы данных, подождите час, попробуйте еще раз, если вы были ограничены в скорости, перезапустите кеш-сервер, если вы кешируете, возможно, даже очистите кеш   -  person AJcodez    schedule 06.01.2014
comment
Сделал это. Нет результатов.   -  person user    schedule 06.01.2014
comment
Вы все еще вызываете reverse_geocoded_by в своей модели? Я думаю, вам это может понадобиться для последующего вызова reverse_geocode.   -  person benjaminjosephw    schedule 06.01.2014
comment
Да, он все еще работает, когда я отправляю новые местоположения через приложение HTTPClient.   -  person user    schedule 07.01.2014
comment
Может ли кто-нибудь подтвердить, что это работает для них?   -  person user    schedule 07.01.2014


Ответы (2)


попробуй с этим

location.address = location.reverse_geocode
location.save!
person Nitin Jain    schedule 06.01.2014
comment
Он начал работать сегодня утром. Перезапуск консоли не помог, но перезапуск всей машины помог. Возможно, это как-то связано с RVM/моим списком драгоценных камней. Спасибо за помощь. - person user; 07.01.2014

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

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

person user    schedule 07.01.2014