2016-03-20 7 views
-2

Ich habe eine HAML Ausgabe eine else if-Anweisung zu schreiben ...Haml if-Anweisung Ausgabe

Ich habe diesen Code:

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

Und ich mag diese Art von HTML erzeugen:

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

Mehrere Male abhängig von der Länge meiner Sammlung.

Irgendeine Idee? Dank

EDIT> Eine Abhilfe, dies zu tun wäre:

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

ist aber nicht es eine bessere Lösung?

Antwort

3

könnten Sie verwenden in_groups_of:

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

Dank, es ist genau das, was ich gesucht habe! –

+1

Arbeite mit Middleman, ich habe keinen Zugriff auf in_groups_of. Allerdings tut each_slice von Ruby den gleichen Job :) –