【发布时间】:2009-11-14 21:23:09
【问题描述】:
我有一个连接表,用于查找订单的可用服务;在该表中是utility_id 和company_id。
我想要的是一个组(散列),其中键是实用程序名称,值是相应公司的散列。
我得到了以下...
Service.find(:all).to_set.classify { |service| Utility.find(service.utility_id).name }
...这很好地给了我一个哈希,其中键是实用程序名称,但值是服务记录的 Sets,而不仅仅是公司名称(我不需要实际记录),我不知道如何制作我想要的哈希:
# example of what I would like to have
{"electricity" => {"conEd" => 1, "Dominian" => 2}, "gas" => {"conEd" => 1}}
# where the key is Utility.name, and the value-hash is {Company.name => Company.id}
我该怎么做?
【问题讨论】:
-
我对“company-1”的来源感到困惑。如果它只是一个数字序列,您是否宁愿将一个数组作为每个哈希值?所以:
{"utility-1" => [company_id, company_id], "utility-2" => [company_id, company_id]} -
对不起;我的意思是“company-1”只是一家公司的名称,与另一家“company-2”不同,并不是说它们实际上是在增加价值。以上编辑。