我有一個連接表,我正在使用它來查找訂單的可用服務;在該表中是utility_id
和company_id
。紅寶石:使哈希=哈希=>設置
我想要的是一個組(散列),其中的鍵是實用程序名稱,值是相應公司的散列值。
我得到了以下...
Service.find(:all).to_set.classify { |service| Utility.find(service.utility_id).name }
...它非常漂亮,給我一個散列結果,其中的關鍵是實用程序名,但值設置 S的服務記錄,而不是隻是公司名稱(我不需要實際的記錄),我想不通我怎麼會做哈希我想:
# 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}
我將如何做到這一點?
我困惑於「公司-1」來自何處。如果它只是一個數字序列,難道你不希望有一個數組作爲每個散列值嗎?所以:'{「utility-1」=> [company_id,company_id],「utility-2」=> [company_id,company_id]}' – DigitalRoss 2009-11-14 21:57:59
抱歉;我的意思是說,「公司-1」只是一家公司的名稱,與另一家「公司-2」分開,而不是實際上增加了價值。上面編輯。 – neezer 2009-11-14 22:35:34