9

I have a 'project' form as a partial. I'm trying to use jquery to render the partial when user clicks a button:

$('.projects').append("<%= render partial: 'projects/project') %>").html_safe

But using the above code is literally rendering "<%= render partial: 'projects/project') %>" on the page instead of the actual partial.

2
  • 1
    I think your javascript file doesn't have the erb extension in it, if it is then rename from file.js to file.js.erb Commented May 4, 2015 at 3:54
  • what's the name of this file anyways? cause it looks like js but you added .html_safe which is ruby, and you said form partial, so idk. Commented May 4, 2015 at 3:59

3 Answers 3

6

I believe renaming your file extension from xxx.js to xxx.js.erb might solve your problem.

Sign up to request clarification or add additional context in comments.

1 Comment

I think Bernie is correct. If the file ends in erb, then rails will render the view. If not, then it just treats it as any other static file.
4

Try this:

$('#projects').html('<%= escape_javascript render 'projects/project' %>');

Note: As Bernie Chiu suggested you need to change file extension from xxx.js to xxx.js.erb

Comments

2

Try:

$('.projects').append("<%= j render partial: 'projects/project') %>");

j is the alias for escape_javascript.

See documentation for escape_javascript helper.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.