rnaud
rnaud

Reputation: 2622

Rails as_json include parent object?

Hello I'm trying to use as_json to output the parent object as an include. Here is my code :

photo.as_json(:include => [:comments, :likes])

This code works, this one doesn't :

photo.as_json(:include => [:comments, :likes, :user])

I get the error :

NoMethodError: undefined method `macro' for nil:NilClass

Any one ? Thanks :)

Upvotes: 1

Views: 3287

Answers (3)

TomDunning
TomDunning

Reputation: 4877

you call the "methods" option instead:

photo.as_json(:methods => [:user], :include => [:comments, :likes, :user])

I've used this in Rails 4.0, ruby 2.0 to bring back what i need.

Upvotes: 0

rnaud
rnaud

Reputation: 2622

I ended up using acts_as_api which allows for methods, templates and a lot of cool features that got the work done much easier.

Upvotes: 1

Bob
Bob

Reputation: 8504

Try

user = User.find(1)    
user.as_json(:include => {:photos => {:include => [:comments, :likes]}})

Upvotes: 4

Related Questions