Как отобразить больше чем один Атрибут с ActiveRecord?

Если я ввожу в своей консоли

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

Я добираюсь ["Peter", "Mary", "Jane"] но я также хочу показать день рождения, поэтому как я делаю это? Я попробовал

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

но это не работает.

20
задан techdreams 19 September 2018 в 06:13
поделиться

2 ответа

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

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

что даст массив массивов.

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

что даст вам массив строк. Отсюда можно сделать довольно много.

39
ответ дан 29 November 2019 в 23:33
поделиться

Попробуйте

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

Синтаксис & - это просто сокращение базового метода Ruby.

4
ответ дан 29 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: