HAML DRY如果在循环中

时间:2013-12-01 12:39:11

标签: ruby-on-rails haml zurb-foundation

我在HAML和基金会遇到麻烦。我想生成一个谷歌加卡风格的人员列表。我尝试了什么:

- @people.each_with_index do |person, index|
  - if index.even?
    .row
      .panel.medium-6.small-12.columns
        %h3= person.full_name
        %h5 more metadata
  - else
    .panel.medium-6.small-12.columns
      %h3= person.full_name
      %h5 more metadata

除了这不起作用,因为标签处于错误的级别,它也不完全是DRY。关于如何正确地做到这一点的任何想法甚至可能以更干的方式?

1 个答案:

答案 0 :(得分:2)

根据您的评论,我要做的是使用enumerable#each_slice配对结果:

- @people.each_slice(2).each do |pair|
    .row
      - pair.each do |person|
        .panel.medium-6.small-12.columns
          %h3= person.full_name
          %h5 more metadata