2011-07-08 162 views
0

裏面我有一個存儲過程返回單個陣列內的以下散列:通過哈希遍歷數組

@cars = [{"make"=>"honda"}, {"color"=>"black"}, {"make"=>"acura"}, {"color"=>"red"}] 

如何我將通過每一種迭代,這樣我可以正確地把它們放進表。導致:

<table> 
    <tr> 
    <td>honda</td> 
    <td>black</td> 
    </tr> 
    <tr> 
    <td>acura</td> 
    <td>red</td> 
    </tr> 
</table> 
+1

你的數據結構是離奇,不會'[{ 「使」=> 「HONDA」 ,「color」=>「black」},{「make」=>「acura」,「color」=>「red」}]',其中數組的每個元素表示一個車/行,更有意義? –

+0

數據結構是我必須使用的。所以我需要做這個工作。任何有用的建議? – oprogfrogo

回答

2

我會改變數據的格式紅寶石:

@good_cars = @cars.each_slice(2).map { |a,b| a.merge(b) } 
# returns [{"make"=>"honda", "color"=>"black"}, {"make"=>"acura", "color"=>"red"}] 
1
<table> 
<% @cars.each_slice(2) do |hash1, hash2| %> 
    <tr> 
    <td><%= hash1['make'] %></td> 
    <td><%= hash2['color'] %></td> 
    </tr> 
<% end %> 
</table>