2013-06-19 61 views
2

我有這陣我回到Rails中Rails的鍵值數組表

[ 
    ["RETURNS FUEL SURCHARGE", "236.20"], 
    ["RETURNS PRINT AND MAIL LABEL", "9.00"], 
    ["BILLING ADJUSTMENT FOR W/E 02/23/2013", "7.99"], 
    ["SHIPPING CHARGE CORRECTION GROUND", "5471.01"], 
    ["BILLING ADJUSTMENT FOR W/E 03/02/2013", "-1.43"], 
    ["RETURNS 3 UPS PICKUP ATTEMPTS", "187.50"], 
    ["CHARGEBACK CHARGEBACK SURCHARGE", "24.00"], 
    ["BILLING ADJUSTMENT FOR W/E 03/16/2013", "-31.02"], 
    ["SHIPPING CHARGE CORRECTION OVER MAXIMUM LENGTH", "50.00"], 
    ["CHARGEBACK FUEL SURCHARGE", "2.44"] 
] 

我期待放在表中的信息。我有點失落,最好的方式來做到這一點。

回答

3

您將需要遍歷數組,併爲數組中的每個條目添加一個新的錶行。因此,在您的視圖(假設這個數組分配給一個@array變量控制器),您可以遍歷您的數組,像這樣:

更新:增加陣列每tadman的建議解構

<table> 
    <% @array.each do |description, amount| -%> 
    <tr> 
    <td><%= description %></td> 
    <td><%= amount %></td> 
    </tr> 
    <% end -%> 
</table> 
+2

也可以將這些標籤標記爲'do | description,amount |'。 – tadman

+1

如果我想按數量對數組進行排序,我將如何去做這件事? – rigelstpierre

1

要回答問題 - 如果我想按數量對數組進行排序,我該怎麼做呢?。是的,你可以做如下。

array = [["RETURNS FUEL SURCHARGE", "236.20"], ["RETURNS PRINT AND MAIL LABEL", "9.00"], ["BILLING ADJUSTMENT FOR W/E 02/23/2013", "7.99"], ["SHIPPING CHARGE CORRECTION GROUND", "5471.01"], ["BILLING ADJUSTMENT FOR W/E 03/02/2013", "-1.43"], ["RETURNS 3 UPS PICKUP ATTEMPTS", "187.50"], ["CHARGEBACK CHARGEBACK SURCHARGE", "24.00"], ["BILLING ADJUSTMENT FOR W/E 03/16/2013", "-31.02"], ["SHIPPING CHARGE CORRECTION OVER MAXIMUM LENGTH", "50.00"], ["CHARGEBACK FUEL SURCHARGE", "2.44"]] 
array.sort_by{|i| i[1].to_i} 
# => [["BILLING ADJUSTMENT FOR W/E 03/16/2013", "-31.02"], 
#  ["BILLING ADJUSTMENT FOR W/E 03/02/2013", "-1.43"], 
#  ["CHARGEBACK FUEL SURCHARGE", "2.44"], 
#  ["BILLING ADJUSTMENT FOR W/E 02/23/2013", "7.99"], 
#  ["RETURNS PRINT AND MAIL LABEL", "9.00"], 
#  ["CHARGEBACK CHARGEBACK SURCHARGE", "24.00"], 
#  ["SHIPPING CHARGE CORRECTION OVER MAXIMUM LENGTH", "50.00"], 
#  ["RETURNS 3 UPS PICKUP ATTEMPTS", "187.50"], 
#  ["RETURNS FUEL SURCHARGE", "236.20"], 
#  ["SHIPPING CHARGE CORRECTION GROUND", "5471.01"]]