2010-07-14 2 views
17

question rapide.Comment mapper plus d'un attribut avec ActiveRecord?

Si je tape dans ma console

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

Je geht [ "Peter", "Marie", "Jane"]

Mais je veux aussi montrer l'anniversaire, comment dois-je faire cette?

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

ne fonctionne pas merci à l'avance

Répondre

32

Vous pouvez utiliser la syntaxe du bloc alternatif:

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

qui donnerait un tableau de tableaux.

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

vous donnerait un tableau de chaînes. Vous pouvez faire un peu de là.

4

Essayez

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

La syntaxe & est simplement un raccourci à la méthode Ruby sous-jacente.

Questions connexes