2016-03-20 2 views
-2

У меня вопрос Haml Пишет если другое заявление ...Haml если проблема заявления

У меня есть этот код:

- experiences.each_index do |index| 
    - if index % 2 == 0 ? 
    .group 
     .left 
    - else 
    .right 
    %p= experiences[index].company 

И я хотел бы, чтобы произвести такой HTML:

<div class='group'> 
    <div class='left'></div> 
    <div class='right'></div> 
</div> 

Несколько раз в зависимости от длины моей коллекции.

Любая идея? Благодаря

EDIT> Обходной бы сделать это:

- experiences.each_index do |index| 
    - if index % 2 == 0 ? 
    .group 
     .left 
     experiences[index]... 
     .right 
     experiences[index+1]... 

Но не есть ли лучшее решение?

ответ

3

Вы можете использовать in_groups_of:

- experiences.in_groups_of(2) do |left, right| 
    .group 
    .left 
     %p= left.company 
    .right 
     %p= right.company if right 
+0

Спасибо, это именно то, что я искал! –

+1

Работа с Middleman, у меня нет доступа к in_groups_of. Однако, each_slice от ruby ​​делает то же самое задание :) –

Смежные вопросы