Обновление 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, и я не знаю, как отладить эту проблему. У вас есть опыт с этим? Что может вызвать эту проблему?
Заранее спасибо!