jRuby / Rails按另一个哈希值排序哈希值

时间:2011-12-13 18:53:59

标签: ruby-on-rails hash jruby

我有一个哈希,它会根据特定变量以不同的方式呈现我的html。变量在哈希中。所以我想知道如何将哈希值传递给组。把剩下的内容分类为我正在尝试的东西,也许这会比我更好地解释它。

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

val是一个多维哈希。前两个键值对sorttype和另一个是简单键和值,第三个(svcs)包含2D哈希的等值。如果我通过它手动键入我想要应用于它的类的排序类型,即:

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

我知道在类似的实例中,我可以将某种变量传递给类似的东西并让它工作。我认为这是这种情况。但是我不知道如何把变量放进去。因为我试过的所有方法都不起作用

1 个答案:

答案 0 :(得分:1)

这取决于一点。

Rails'有一个HashWithIndifferentAccess,它不区分字符串和符号键;如果您正在使用其中之一,它应该按原样运行。

如果不是,则取决于val条目的内容 - 如果它们是字符串,则使用to_sym转换为符号,例如svc[val[:sorttype].to_sym]