我在用Rails应用程序渲染Bootstrap Popover中出现部分问题。

部分内容始终以纯文本呈现(显示所有HTML标签等)。

这是来自index.html.erb的代码

<span class="has-popover"
      style="cursor:pointer;"
      data-toggle="popover"
      data-trigger="hover"
      data-container="body"
      data-placement="right"
      title="Lorem Ipsum"
      data-content= "<%= render :partial => 'envs/e1' %>" >
      <i class="fa fa-question-circle "  aria-hidden="true"></i>
</span>

app.js中,我有这个片段
$(".has-popover").popover({
    html : true
});

这是_e1.html.erb文件夹中的envs部分
<h2>Mauris euismod sollicitudin?</h2>

<p>Morbi sit amet tellus pellentesque, maximus eros a, aliquam nunc. Vivamus velit velit, vestibulum at eros eu, iaculis hendrerit tortor. Morbi ullamcorper purus at ornare ullamcorper. </p>

<br>

<p>Morbi sit amet tellus pellentesque, maximus eros a, aliquam nunc. Vivamus velit velit, vestibulum at eros eu, iaculis hendrerit tortor. Morbi ullamcorper purus at ornare ullamcorper. </p>

我已经用"<%= render :partial => 'envs/e1' %>"raw()html_safe这一行包装了起来,没有任何运气。

*新增示例*
以下是我在片段中如何使用html_saferaw的示例
data-content= raw("<%= render :partial => 'envs/e1' %>")-文本以“正确”的方式出现,但不在弹出窗口之外。
data-content= "<%= raw(render :partial => 'envs/e1') %>" >-文本显示为纯文本
data-content= "<%= render :partial => raw('envs/e1') %>" >-文本显示为纯文本
data-content= "<%= render :partial => 'envs/e1' %>".html_safe-文本显示为纯文本
data-content= "<%= render :partial => 'envs/e1'.html_safe %>"-文本显示为纯文本

必须有某种方式可以在Popover内部设置局部样式?
还是我做错了一切?

请给我提意见
提前致谢。

最佳答案

我相信您必须在弹窗跨度中启用data-html = "true"
至少它在我的机器上工作。

所以它会写成这样:

<span class="has-popover"
  style="cursor:pointer;"
  data-toggle="popover"
  data-trigger="hover"
  data-html="true" <!-- This is what you have to add to the code -->
  data-container="body"
  data-placement="right"
  title="Lorem Ipsum"
  data-content= "<%= render :partial => 'envs/e1' %>" >

09-20 08:23