2012-12-05 14 views

risposta

31
Table.all.index_by { |t| t.id } 

Oppure:

Table.all.index_by(&:id) 

se siete in tutta la faccenda brevità.

+0

Grazie Jim! cosa succede se voglio fare modifiche sul posto? –

+1

Non conosco un buon modo per farlo. Si potrebbe fare qualcosa come 'Hash [Table.all.map {| t | t.something = "override"; [t.id, t]}] '. Ci sono dei possibili trucchi se stai cercando di cambiare i record al volo, ma potrebbe aiutarti. –

+0

Link alla documentazione: http://api.rubyonrails.org/classes/Enumerable.html#method-i-index_by – sp89

Problemi correlati