2016-03-20 94 views
-2

我有一個HAML問題,如果else語句編寫...Haml的if語句問題

我有這樣的代碼:

- 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> 

多次取決於我的收藏的長度。

有什麼想法?由於

編輯> 一種解決方法來做到這一點:

- 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。 但是,ruby中的each_slice可以完成同樣的工作:) –