2011-12-13 79 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

相关问题