2011-12-13 118 views
0

我有一個散列,它會根據特定的變量以不同的方式呈現我的html。該變量位於散列內。所以我想知道我如何通過一個散列值傳遞給一個組。排序其餘的繼承人我試圖,也許這將解釋它比我更好地措辭。jRuby/Rails通過另一個散列值對散列進行排序

<% grouped = svcs.group_by { |svc| svc[val[:sorttype]] } %> 

val是一個多維散列。前兩個鍵值對sorttype和另一個是簡單的鍵和值,第三塊(svcs)包含2D散列的equivilent。其中,如果我手動鍵入我想申請到它的組排序的類型由它的工作原理即:

<% grouped = svcs.group_by { |svc| svc[:service_name] } %> 

在PHP我知道類似的情況,我可以某種形式的變量傳遞給這樣的事情並有它的工作。我在這裏假設情況如此。然而林不知道如何把變量英寸原因所有的方式我曾嘗試不工作

回答

1

這取決於一點。

Rails'有一個HashWithIndifferentAccess,它不會區分字符串和符號鍵;如果您使用其中一種,它應該按原樣工作。

如果不是,則取決於val條目是什麼 - 如果它們是字符串,則使用to_sym轉換爲符號,例如svc[val[:sorttype].to_sym]

+0

這就是我所需要的。那to_sym位。追加解決它。再次感謝你。 :-D – chris 2011-12-13 19:20:29

相關問題