# Rails3-beta4: Calling to\_json on an ActiveRecord::Relation causes an error

**URL:** <https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619>\
**Category:** Rails\
**Created:** [August 3, 2010, 8:21am UTC](https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619 "2010-08-03T08:21:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![wprater](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/ee7513/32.png) [@wprater](https://www.ruby-forum.com/u/wprater)\
**Post date:** [August 3, 2010, 8:21am UTC](https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619/1 "2010-08-03T08:21:16Z")

</div>

Here is my model and an attempt to convert to json. Whether there is  
data returned or not, a circular reference error is thrown. How can I  
avoid this?

ruby-1.8.7-p249 \> PayPeriod  
=\> PayPeriod(id: integer, start\_date: date, end\_date: date, pay\_date:  
date)  
ruby-1.8.7-p249 \> PayPeriod.where(‘end\_date \< ?’, Time.now)  
=\> []  
ruby-1.8.7-p249 \> PayPeriod.where(‘end\_date \< ?’, Time.now).to\_json  
ActiveSupport::JSON::Encoding::CircularReferenceError: object  
references itself  
from /Users/wprater/.rvm/gems/ruby-1.8.7-p249/gems/  
activesupport-3.0.0.beta4/lib/active\_support/json/encoding.rb:59:in  
`check\_for\_circular\_references’

---

<div class="post-metadata">

**Author:** ![wprater](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/ee7513/32.png) [@wprater](https://www.ruby-forum.com/u/wprater)\
**Post date:** [August 3, 2010, 9:02am UTC](https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619/2 "2010-08-03T09:02:14Z")

</div>

On Mon, Aug 2, 2010 at 2:26 PM, wprater [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Here is my model and an attempt to convert to json. Whether there is  
> data returned or not, a circular reference error is thrown. How can I  
> avoid this?

wprater, I would recommend trying Rails 3 RC by doing the following:

gem install rails --pre

Also, if you don’t have a requirement to use Ruby 1.8.7, I would  
recommend  
using Ruby 1.9.2 RC2 by doing the following:

rvm install 1.9.2

Ryan B. recently added the following screencast which covers the  
installation  
of both Rails 3 and Ruby 1.9.2.

[http://media.railscasts.com/videos/225\_upgrading\_to\_rails\_3\_part\_1.mov](http://media.railscasts.com/videos/225_upgrading_to_rails_3_part_1.mov)

Good luck,

-Conrad

---

<div class="post-metadata">

**Author:** ![wprater](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/ee7513/32.png) [@wprater](https://www.ruby-forum.com/u/wprater)\
**Post date:** [August 5, 2010, 1:09am UTC](https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619/3 "2010-08-05T01:09:44Z")

</div>

Thanks, that worked for me. I’m not able to upgrade to RC1 quite yet.

Cheers,

-Will

---

<div class="post-metadata">

**Author:** ![wprater](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/ee7513/32.png) [@wprater](https://www.ruby-forum.com/u/wprater)\
**Post date:** [August 3, 2010, 12:30pm UTC](https://www.ruby-forum.com/t/rails3-beta4-calling-to-json-on-an-activerecord-relation-causes-an-error/192619/4 "2010-08-03T12:30:38Z")

</div>

Hi All,

I have had this problem with Rails 3 and 1.9.1. The fix for this error  
is to add to\_a to the json call.

render :json =\> {:top =\> @top.to\_a.as\_json(:only =\> [:id, :title] ) }

Hope this helps.

Huet
