如果我输入我的控制台
u = User.first
u.friends(&map:username)
我得到["Peter", "Mary", "Jane"]
但我也想要出示生日,那我该怎么做?我试过了
u.friends(&map:username, &map:birthday)
但这不起作用。
答案 0 :(得分:38)
您可以使用备用块语法:
u.friends.map{|f| [f.username, f.birthday]}
将提供一组数组。
u.friends.map{|f| "#{f.username} - #{f.birthday}"}
会给你一个字符串数组。你可以从那里做很多事。
答案 1 :(得分:4)
尝试
u.friends.map {|friend| [friend.username, friend.birthday]}
&
语法只是底层Ruby方法的简写。
答案 2 :(得分:2)
使用ActiveRecord> = 4,您可以轻松使用:
u.friends.pluck(:username, :birthday)