Интеграция Google Maps с JSON - CircularReferenceError - PullRequest
4 голосов
/ 03 апреля 2010

Обновление II

Я понял это. При использовании Google Maps API, модель не должна называться «карты». to_json работает после того, как я создал новое имя модели.

Обновление

@ maps - это название моей модели, оно содержит такую ​​информацию, как адрес, долгота, широта. Когда я заменяю <%= @maps.to_json %>; to <%= @maps %>, HTML отображает ActiveRecord :: Relation: 0x1044e8ba8 & gt

В консоли:

>> b= Map.last
=> #<Map id: 6, first_name: "James", last_name: "", address: "2478 Goldenrod Ln, Perrysburg, OH", address2: "", zip: "", city: "", phone: "", campaign_id: nil, email: "", employer: "", occupation: "", created_at: "2010-04-02 20:58:15", updated_at: "2010-04-02 20:58:15", latitude: 41.556996, longitude: -83.627157>
>> b.to_json
=> "{\"occupation\":\"\",\"city\":\"\",\"address\":\"2478 Goldenrod Ln, Perrysburg, OH\",\"zip\":\"\",\"latitude\":41.556996,\"created_at\":\"2010-04-02T20:58:15Z\",\"address2\":\"\",\"updated_at\":\"2010-04-02T20:58:15Z\",\"campaign_id\":null,\"id\":6,\"phone\":\"\",\"last_name\":\"\",\"employer\":\"\",\"longitude\":-83.627157,\"first_name\":\"James\",\"email\":\"\"}"

Сервер Rails:

Я работаю над Rails 3.0.0.beta2, следуя Расширенные рецепты Rails"Рецепт № 32, Маркировка местоположений на карте Google", и я попадаю в блок.

Следующий код возвращает «ActiveSupport :: JSON :: Encoding :: CircularReferenceError», «объект ссылается на себя» в строке 3. Этот код представляет файл /layouts/maps.html.erb

<% if @maps -%>
<script type="text/javascript">
    var maps = <%= @maps.to_json %>;
</script>
<% end -%>

Это моя первая попытка рендеринга JSON, и я не знаю, как отладить эту проблему. У вас есть опыт с этим? Что может вызвать эту проблему?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 06 апреля 2010

Я понял это! при использовании Google Maps API, моя модель не должна называться «карты». to_json работает после того, как я создал новое имя модели.

0 голосов
/ 05 апреля 2010

Я также вижу эту ошибку и считаю ее очень трудной для отладки, поскольку вызов as_json для объекта не возвращает ошибок, а to_json -!?

Попробуйте удалить атрибуты даты и времени из вашей модели и посмотрите, поможет ли это. Я гуглил эту проблему, и некоторые более ранние решения (с 2007 года) рекомендуют исправлять кодировку даты JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...