This led me to https://coderwall.com/p/i62phq/how-to-render-coffeescript-partial-inside-coffeescript-template. Initially I turn my nose for the syntax, but it solved my problem and wasn't that terrible so I stick with this.
After some time I need to debug my JS response and when I looked at the returned code I saw that I need a better solution:
(function() { (function() { $('.footer').html("<div class=\'btn-group\'>...<\/div>"); }).call(this); ;}).call(this);
As you use more partials and your code start to grow this mess only gets worst. After hitting my head around a bit I realized that what I need was to render plain coffeescript, so I renamed my partial to _partial.coffee.erb and it worked like a charm!
Now my show.js.coffee is:
<%= render 'footer.coffee' %>
And my _footer.coffee.erb is:
$('.footer').html("<%= j render 'my_footer_html_partial' %>")
And the response is:
(function() { $('.footer').html("<div class=\'btn-group\'>...<\/div>"); }).call(this);
Cleaner, don't you think?
Nenhum comentário:
Postar um comentário