Как сопоставить несколько атрибутов с ActiveRecord?
быстрый вопрос.
Если я наберу свою консоль
u = User.first
u.friends(&map:username)
I geht [ "Петр", "Мария", "Джейн" ]
Но я также хочу показать день рождения, так как я могу это сделать?
u.friends(&map:username, &map:birthday)
не работает
заранее спасибо
Ответы
Ответ 1
Вы можете использовать синтаксис альтернативного блока:
u.friends.map{|f| [f.username, f.birthday]}
который даст массив массивов.
u.friends.map{|f| "#{f.username} - #{f.birthday}"}
предоставит вам массив строк. Вы можете сделать немного оттуда.
Ответ 2
Попробуйте
u.friends.map {|friend| [friend.username, friend.birthday]}
Синтаксис &
- это просто краткое описание базового метода Ruby.