0
我正在做的事情的表面聽起來微不足道。我想利用ActiveRecord對象,並建立一個哈希了出來,包含以下格式:使用Ruby的zip/Hash功能來構建這種數據結構
採取@records並把它變成:
{ record.id => [record.attr1, record.attr2], record.id => [...] }
我試圖做到這一點使用類似的東西來:
Hash[*@records.map{|r| [r.attr1, r.attr2 ]}.flatten]
但似乎無法得到正確的語法,使其看起來像上面的例子。
**更新,以使更多的CLEAR問什麼**
讓我做一個具體的例子。我有一羣貓。這源於具有兩個屬性的Cat模型:name(字符串)和age(int)。我想通過做檢索貓的數組以下幾點:
# I realize this isn't optimal but that's not the point of this question
@cats = Cat.all.entries
我則嘗試將JSON哈希值傳遞給其中散列具有每隻貓實例ID作爲鍵和值是一個數組客戶端與貓的名字和年齡。
在@cats數組上運行適當的Hash/zip組合後,生成的哈希將看起來像。
{ "15" : ["charles", 3], "18" ["winnie", 5], ... }
我試圖做這樣的事情:
Hash[*@cats.map{|c| [c.name, c.age ]}.flatten]
這是否更有意義?
你想要什麼輸出? – 2013-04-26 19:26:10
什麼是@記錄?你有「檢查」結果嗎? – sawa 2013-04-26 19:37:18
我更新了問題以包含更多的細節,並進一步闡明瞭我試圖問的是什麼。我希望這更有意義?讓我知道是否需要添加更多細節。 – randombits 2013-04-26 19:45:00