从 javascript rails 渲染 html

render html from javascript rails

我有一个应该输出到未正确显示的 div 的局部渲染。 我试过 index.js.haml :

= "$('.modal-body').html('#{escape_javascript(raw render("details"))}');"
= "$('.modal-body').html('#{escape_javascript(raw render("details")).html_safe}');"
= "$('.modal-body').html('#{escape_javascript(raw render("details").html_safe)}');"
= "$('.modal-body').html('#{raw escape_javascript(raw render("details"))}');"
= "$('.modal-body').html('#{raw escape_javascript(raw render("details").html_safe)}');"
= "$('.modal-body').html('#{raw escape_javascript(raw render("details")).html_safe}');"

并且它们都输出相同的以下内容:

如果我删除 escape_javascript,它就不再工作了。

$('.modal-body').html('<%=j render partial: 'details' %>'); // in HTML

$('.modal-body').html('#{j render partial: 'details'}');  // in HAML

感谢 Emu 在 ERB 中发布了答案,我在 haml 中找到了一种方法:

:plain
  $('.modal-body').html('#{j render partial: 'details'}'); // in HAML

$('.modal-body').html('<%= j render partial: 'details'%>'); //in ERB