在使用/ Ruby的HAML中,如何在单个表列中“循环”重复图像?

时间:2013-04-11 15:27:52

标签: ruby haml

我有一张桌子的HAML代码。

%table
  %thead
    %th Job
    %th Uptime
  %tbody
    - @hw.each do |k,v|
      %tr
        %td=k
        %td
        - v.each do |z|
          - if z=="1"
            %img{src: "images/blue.png"}
          - else
            %img{src: "images/red.png"}

问题在于它不是像我想要的那样在单个列中打印它。我希望,在伪代码中,每个表列都有

工作| {重复图像}

重复图像部分工作正常,列也打印精细,问题是图像没有在匹配列内打印出来。我猜的答案是%td = ???但是我不知道如何将这些重复的图像放在列中并将它们“添加”到前一个图像中(在换行之前)。

1 个答案:

答案 0 :(得分:5)

你的缩进是关闭的,它必须是这样的:

    %td
      - v.each do |z|
        - if z=="1"
          %img{src: "images/blue.png"}
        - else
          %img{src: "images/red.png"}

你们之后正在打印一个空<td>和图像。