Ruby on rails 如何使用ActiveRecord映射多个属性?
如果我在控制台中键入Ruby on rails 如何使用ActiveRecord映射多个属性?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Activerecord,如果我在控制台中键入 u = User.first u.friends(&map:username) 我得到了[“彼得”、“玛丽”、“简”]但是我也想展示生日,那我该怎么做呢?我试过了 u.friends(&map:username, &map:birthday) 但这不起作用。您可以使用备用块语法: u.friends.map{|f| [f.username, f.birthday]} 这将给出一个数组 u.friends.map{|f| "#{f.usernam
u = User.first
u.friends(&map:username)
我得到了[“彼得”、“玛丽”、“简”]
但是我也想展示生日,那我该怎么做呢?我试过了
u.friends(&map:username, &map:birthday)
但这不起作用。您可以使用备用块语法:
u.friends.map{|f| [f.username, f.birthday]}
这将给出一个数组
u.friends.map{|f| "#{f.username} - #{f.birthday}"}
将给您一个字符串数组。从那里你可以做很多事情。试试看
u.friends.map {|friend| [friend.username, friend.birthday]}
&
语法只是底层Ruby方法的简写。如果ActiveRecord>=4,您可以简单地使用:
u.friends.pluck(:username, :birthday)