Rails在HAML中创建无序列表

时间:2018-01-18 14:01:43

标签: ruby-on-rails haml

我很抱歉,如果这个问题不合适,但我试图在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元素?

1 个答案:

答案 0 :(得分:3)

这与HAML无关。由于您在循环中创建了ul元素,因此它可以完成它的工作。您要做的是将根ul节点置于最前面:

%ul.comments
  - @movies.comments.each do |comment|
    %li= comment.text