我很抱歉,如果这个问题不合适,但我试图在HAML中呈现无序列表,HTML版本看起来像这样:
<% @movies.comments.each do |comment| %>
<ul class="comments">
<li><%= comment.text %></li>
</ul>
<% end %>
我使用了3个不同的html-&gt; haml在线转换器,并且都渲染了这个haml。
- @movies.comments.each do |comment|
%ul.comments
%li= comment.text
然而输出是这样的(在电影中有3条评论):
<ul class="comments">
<li>asdasdasd</li>
</ul>
<ul class="comments">
<li>asdasdasd</li>
</ul>
<ul class="comments">
<li>asdasdasd</li>
</ul>
为什么会创建3个单独的ul
元素,而不是其中的1个和3个li
元素?
答案 0 :(得分:3)
这与HAML无关。由于您在循环中创建了ul
元素,因此它可以完成它的工作。您要做的是将根ul
节点置于最前面:
%ul.comments
- @movies.comments.each do |comment|
%li= comment.text