我知道这个问题被问了很多次,所有这些都没有帮助我。
我需要做的是,在按钮点击时渲染模板,其中包含混合ruby和html代码。
我正在处理的代码是:
function SetLayout(val) {
if (val == "1") {
$("#loadContent").html("<%= escape_javascript(render(:template => 'pages/template_1')) %>");
$("#pageLayout").modal("hide");
}
}
<div id="loadContent">
//LOAD THAT TEMPLATE IN THIS DIV
</div>
template_1.html.erb
<div contenteditable="true">
<%= @page.name.html_safe %>
</div>
<div class="contenteditable="true"
data-attr="description" id="page-desc">
<%= @page.description %></div>
问题是它只是在结果div中呈现如下代码
<%= escape_javascript(render(:template => 'pages/template_1')) %>
答案 0 :(得分:1)
您无法将模板直接渲染到javascript中。然而,ajax可用于实现这一目标。
function SetLayout(val) {
if (val == "1") {
$.get('/your-route-to-template_1', function(data){
$("#loadContent").html(data);
});
$("#pageLayout").modal("hide");
}
}