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) {


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

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
etc) ?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs