18
有沒有一種方法可以將activerecord中的記錄從已經由id而不是數組索引的散列中取出? 這是目前在做什麼IM:從activerecord獲取索引散列
results = {}
Table.select { |current| results[current.id] = current }
林假設必須有,做一個方法是什麼?
有沒有一種方法可以將activerecord中的記錄從已經由id而不是數組索引的散列中取出? 這是目前在做什麼IM:從activerecord獲取索引散列
results = {}
Table.select { |current| results[current.id] = current }
林假設必須有,做一個方法是什麼?
Table.all.index_by { |t| t.id }
或者:
Table.all.index_by(&:id)
如果你到整個簡潔的東西。
謝謝吉姆!如果我想進行就地修改,該怎麼辦? –
我不知道這樣做的好方法。你可以做一些像'Hash [Table.all.map {| t | t.something =「覆蓋」; [t.id,t]}]'。如果您試圖隨時更改記錄,那麼存在潛在的問題,但它可能對您有所幫助。 –
鏈接到文檔:http://api.rubyonrails.org/classes/Enumerable.html#method-i-index_by – sp89