Я использовал более раннюю версию плагина geokit в приложении rails 2.3 и только что обновил до последней версии - той, которая теперь использует гем.
В предыдущей версии можно было преобразовать объект, возвращаемый методом .geocode, в json. просто вызвав для этого метод to_json.
Это, однако, ломает в новой версии.
Я заметил, что в новом GeoLoc есть атрибут @all, который выдает ошибку циклической ссылки, если вы вызываете to_json.
Вот пример возвращаемого объекта:
<Geokit::GeoLoc:0x3837be4 @full_address="Phoenix, AZ, USA", @city="Phoenix", @provider="google", @country_code="US", @accuracy=4, @street_address=nil, @lng=-112.073821, @precision="city", @zip=nil, @success=true, @all=[#<Geokit::GeoLoc:0x3837be4...>], @lat=33.448263, @state="AZ">
А вот ошибка, если вы вызываете to_json:
ActiveSupport :: JSON :: CircularReferenceError (объект ссылается на себя)
Я использую "json" для нанесения маркеров на карте с помощью jquery. Конечно, я могу сделать свою собственную строку из результата GeoLoc и преобразовать ее в json - но это больше кода ...
Кто-нибудь знает, почему этот атрибут был добавлен в новой версии и есть ли другой способ прямого преобразования результата geoLoc в json?