Геокодировщик gem 'rake geocode: all CLASS = Model' не работает

У меня есть приложение Ruby on Rails с установленным геокодером. Я пытаюсь массово геокодировать все строки (около 2500) в моей базе данных с помощью rake geocode:all. Когда я запускаю команду, ничего не происходит. Ни одна из строк не была геокодирована. Я что-то упустил здесь?

Модель.rb

geocoded_by :fulladdress  
after_validation :geocode

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

person Mayuresh Srivastava    schedule 25.11.2016    source источник
comment
вы используете активную запись или монгоид?   -  person Jagdeep Singh    schedule 25.11.2016
comment
Поле широты, долготы есть в БД, верно?   -  person Vishal G    schedule 25.11.2016
comment
только если вы используете активную запись   -  person Jagdeep Singh    schedule 25.11.2016
comment
да, я использую активную запись... и да, столбцы широты и долготы присутствуют в моей таблице.   -  person Mayuresh Srivastava    schedule 25.11.2016
comment
Не могли бы вы показать, что у вас есть в других ваших файлах?   -  person Mark Boulder    schedule 04.05.2020


Ответы (1)


Просто попробуйте вручную запустить вне задачи Rake (например, консоль rails или rails runner):

Model.find_each {|m| m.save! }

Если вы делаете это в процессе разработки, быстро просмотрите выведенные операторы SQL, если есть строки с «UPDATE models SET lat=?, lon=? ..."

person stwienert    schedule 25.11.2016
comment
Команда 'rake geocode:all CLASS=Model' ничего не выводит... и что я могу проверить с помощью 'Model.find_each {|m| м. сохранить! }' ..я не совсем вас понял. - person Mayuresh Srivastava; 25.11.2016
comment
Это запустит проверку + сохранение для всех ваших моделей. Ваш код выглядит нормально, сохранение также запустит ваше геокодирование. Любая ошибка должна быть поднята при сохранении!. Если вы используете Google в качестве серверной части геокодирования, обязательно включите спящий режим 1, иначе вы будете ограничены. - person stwienert; 29.11.2016