render and render_to_string

render_to_string returns the result of executing some template or partial in a string instead of sending it as the response body to the browser. Render returns the result of evaluating some template or partial as a string of html, like render_to_string, but it then sends it back as part of the response body to the browser. Now with ajax, when I use jquery's get method like this:

    $.get(url, function(resp) {     $('#tabs').append(resp);   })

If I use render_to_string, it sends an actual string back the browser and thats what is appended to the DOM. When I use render, it returns HTML back to the browser and thats what is correctly appended to the DOM.

So what causes the difference? Does render send as part of the response body a header like "text/html" or something?

I am currently reading 'Jose_Valim-Crafting_Rails_Application' wherein he discussed the Rails stack and shows you how this all works. I am not proficient enough to explain it since I am still trying to absorb it all but as a reference to the subject I think it will answer your questions if you are able to get a copy.

what are the differences in the responses reported in the console (firebug, etc) ?