2010-07-14 13 views
17

domanda veloce.Come mappare più di un attributo con ActiveRecord?

Se digito il mio console

u = User.first 
u.friends(&map:username) 

I geht [ "Peter", "Mary", "Jane"]

Ma voglio anche mostrare il compleanno, così come posso fare quella?

u.friends(&map:username, &map:birthday) 

non funziona grazie in anticipo

risposta

32

È possibile utilizzare il blocco sintassi alternativa:

u.friends.map{|f| [f.username, f.birthday]} 

che darebbe un array di array.

u.friends.map{|f| "#{f.username} - #{f.birthday}"} 

fornirebbe un array di stringhe. Puoi fare un bel po 'da lì.

4

Prova

u.friends.map {|friend| [friend.username, friend.birthday]} 

La sintassi & è semplicemente una scorciatoia al metodo rubino sottostante.

Problemi correlati