2010-07-14 2 views
17

быстрый вопрос.Как сопоставить несколько атрибутов с ActiveRecord?

Если я печатаю в моей консоли

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

Я Geht [ «Питер», «Мэри», «Джейн»]

Но я также хочу, чтобы показать день рождения, так как я делаю что?

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

не работает заранее спасибо

ответ

32

Вы можете использовать альтернативный синтаксис блоков:

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

, который дал бы массив массивов.

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

предоставит вам массив строк. Вы можете сделать совсем немного оттуда.

4

Попытка

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

Синтаксис & является просто коротким к нижележащему методу Ruby.

Смежные вопросы