rails - haml子元素渲染外部父元素

时间:2015-04-15 12:23:44

标签: ruby-on-rails

我正在尝试在haml

中呈现以下代码行
%p.article-body
  lorem
  = "<div>ipsum</div>".html_safe

我打算将其渲染为

<p class="article-body">
  lorem
  <div>ipsum</div>
</p>

但是它呈现为

<p class="article-body">
  lorem
</p>
<div>ipsum</div>

我做错了什么?它只发生在那些调用html_safe的行上。否则,内容将在父元素内呈现。

4 个答案:

答案 0 :(得分:0)

由于HAML是缩进敏感标记,因此您需要进行适当的缩进。试试这个:

%p.article-body
  = "<div>lorem</div>".html_safe

答案 1 :(得分:0)

检查你的缩进。请更改此代码

%p.article-body
  %div lorem

答案 2 :(得分:0)

使用此代码:

%p.article-body

%div lorem.html_safe

答案 3 :(得分:0)

  

%p.article-body =“lorem”.html_safe

这是错误的语法。由于<p>标记不允许包含<div>标记。

<强> Why <p> tag can't contain <div> tag inside it?

尝试<div>代码(删除%p)代替<p>,如下所示:

.article-body
  = "<div>lorem</div>".html_safe

.article-body
  != "<div>lorem</div>"  # if you not wanted to use .html_safe

请点击此处查看 !=

的详细信息

有关更多信息/学习HAML结构,请参阅以下链接:

我希望这对你有所帮助。 :)