Nesting :json include in Rails
Refer to ActiveModel::Serializers::JSON#as_json
to see the options you can pass to render :json
. To quote:
To include associations use
:include
...Second level and higher order associations work as well:
user.as_json(:include => { :posts => { :include => { :comments => { :only => :body } }, :only => :title } })# => { "id": 1, "name": "Konata Izumi", "age": 16,# "created_at": "2006/08/01", "awesome": true,# "posts": [ { "comments": [ { "body": "1st post!" }, { "body": "Second!" } ],# "title": "Welcome to the weblog" },# { "comments": [ {"body": "Don't think too hard" } ],# "title": "So I was thinking" } ]# }
It's not necessary to call to_json
or as_json
directly, as render :json
does it automatically.
You need to pass in hash instead of array
render :json => @as.to_json(:include => { :bs => {:include =>:c} })