ruby-on-rails - ejemplos - ruby on rails official website
¿Cómo asignar más de un atributo con ActiveRecord? (3)
Con ActiveRecord> = 4 puedes simplemente usar:
u.friends.pluck(:username, :birthday)
Si escribo en mi consola
u = User.first
u.friends(&map:username)
Obtengo ["Peter", "Mary", "Jane"]
pero también quiero mostrar el cumpleaños. ¿Cómo hago eso? Lo intenté
u.friends(&map:username, &map:birthday)
pero esto no funciona.
Puedes usar la sintaxis de bloque alternativa:
u.friends.map{|f| [f.username, f.birthday]}
Lo que daría una serie de matrices.
u.friends.map{|f| "#{f.username} - #{f.birthday}"}
te daría una serie de cadenas. Puedes hacer un poco desde allí.
Tratar
u.friends.map {|friend| [friend.username, friend.birthday]}
La &
sintaxis es simplemente una abreviatura del método subyacente de Ruby.