Rendering partial in js.erb file

When rendering partials inside Javascript code, you should use the escape_javascript method, like so

$('#comments ul.comments').append("<%= escape_javascript render(:partial => 'comments/single', :locals => { :c => @comment }) %>");

This method is aliased as j, so you can also do this

$('#comments ul.comments').append("<%= j render(:partial => 'comments/foobar') %>");

The method Escapes carriage returns and single and double quotes for JavaScript segments
ActionView::Helpers::JavaScriptHelper Rails docs

Leave a Comment