Eager fetching returning JSON results

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.