У меня уже есть таблица адресов в моей базе данных и недавно наткнулся на драгоценный камень Geocoder (сладкий камень). Во всяком случае, я отредактировал мою модель, чтобы включить как столбцы широты, так и долготы, а также указать, что каждая запись должна быть geocoded_by
, поэтому теперь я хотел бы просто геокодировать все адреса в таблице, которые теперь имеют нуль широт и долгот.Геокодер усиливает геокодирование записей в базе данных с помощью консоли Rails
Я думал, что понял это с консолью рельсы, просто выполнив команду:
Address.all.each{ |address| address.geocode }
Это возвращает каждую запись с заполненной широтой и колонкой долготы, однако при проверке отдельных элементов после - у них все еще есть нильские широты и долготы (т.е. записи фактически не обновляются). Я думал, может быть address.geocode!
будет работать, но это вернуло NoMethodError
.
Это должен быть простым, но, кажется, я просто достаточно неопытен, чтобы не знать, что это такое ... aaaand с немного больше мастерить я понял это:
Решение
Address.all.each{ |address| address.update_attributes(latitude: address.geocode[0], longitude: address.geocode[1]) }