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