Ruby on rails 使用Bootstrap Popover将HTML显示为文本的Rails
我正在迭代我的用户,并将他们添加到视图中的表中。我希望其中一列是“标记”用户的复选框 理想情况下,单击此复选框将显示一个引导弹出窗口,其中包含一个表单,用于解释标记的原因 我的问题是引导弹出框中的表单显示为纯文本。 index.html.erbRuby on rails 使用Bootstrap Popover将HTML显示为文本的Rails,ruby-on-rails,twitter-bootstrap,Ruby On Rails,Twitter Bootstrap,我正在迭代我的用户,并将他们添加到视图中的表中。我希望其中一列是“标记”用户的复选框 理想情况下,单击此复选框将显示一个引导弹出窗口,其中包含一个表单,用于解释标记的原因 我的问题是引导弹出框中的表单显示为纯文本。 index.html.erb <span class="has-popover" data-toggle="popover" data-container="body" data-placement="right"
<span class="has-popover"
data-toggle="popover"
data-container="body"
data-placement="right"
title="Flag as Duplicate/Incorrect"
data-content="<%= render partial: "signers/flag", locals: {signer: signer} %>">
<i class="fa fa-flag" aria-hidden="true"></i> <%= check_box_tag 'flag' %>
</span>
<form>
<div class='form-group'>
<input type='text' class='form-control' placeholder='Reason for flag...'>
</div>
<button type='submit' class='btn btn-default'>Submit</button>
</form>
\u form.html.erb
<span class="has-popover"
data-toggle="popover"
data-container="body"
data-placement="right"
title="Flag as Duplicate/Incorrect"
data-content="<%= render partial: "signers/flag", locals: {signer: signer} %>">
<i class="fa fa-flag" aria-hidden="true"></i> <%= check_box_tag 'flag' %>
</span>
<form>
<div class='form-group'>
<input type='text' class='form-control' placeholder='Reason for flag...'>
</div>
<button type='submit' class='btn btn-default'>Submit</button>
</form>
提交
我尝试在调用分部代码时添加content\u type:“application/html”
,但没有成功。非常感谢您的帮助
Bootstrap popover允许我们设置参数
html
=true,然后它将按照您的期望工作
你的观点
<span class="has-popover"
data-toggle="popover"
data-container="body"
data-placement="right"
title="Flag as Duplicate/Incorrect"
data-content="<%= render partial: "signers/flag", locals: {signer: signer} %>">
<i class="fa fa-flag" aria-hidden="true"></i> <%= check_box_tag 'flag' %>
</span>
我在让embedded ruby在popover中显示html_-safe时遇到了问题,特别是指向helper的链接,并使用javascript找到了一个不同的解决方案:
<div id="button" data-toggle="popover" data-placement="left">
...
</div>
$("#button").popover({
container: 'body',
html: true,
content: function () {
var content = $("#div-with-ERB-content-to-put-in-popover").html();
return content;
}
});
...
$(“#按钮”).popover({
容器:'主体',
是的,
内容:功能(){
var content=$(“#带ERB内容的div放入popover”).html();
返回内容;
}
});
就像你忘了设置popover参数一样html
=true,请检查这是否有效,谢谢!请作为答案提交,这样我就可以给你评分了。这很有效,但我把data html=“true”
放在span上,不需要JS。