All,
I have a many_to_one relationship object between products and
categories and I want to return the category too using JSON results
but it seems that rails only gives back the products JSON object on
the view layer. This is the piece of code:
@products = Product.find(:all, :include => [:category] )
respond_to do |format|
format.json {render :json => [@products]
end
Have I missed something? I thought by doing this I have enabled the
eager fetching? Or does eager fetching does not work with JSON
results?
Thanks in advance.
All,
I have a many_to_one relationship object between products and
categories and I want to return the category too using JSON results
but it seems that rails only gives back the products JSON object on
the view layer. This is the piece of code:
@products = Product\.find\(:all, :include => \[:category\] \)
respond\_to do |format|
format\.json \{render :json => \[@products\]
end
There's 2 separate things: the :include option on Product.find just
ensures those associations are loaded
To have them in your json (or xml) output you need to pass that to
to_json or to_xml, ie render :json => @products.to_json(:include
=> :category)
Fred
Darn,
I returned an array object besides that products instance, giving that
to_json will give backslashes to the quotes.