使用带有多个变量的Ruby collect

时间:2014-11-03 13:58:58

标签: ruby-on-rails ruby

当然这很简单,但是可以使用collect

返回多个属性

所以我可以做到

User.all.collect { |user| user.firstname}

但我做不到

User.all.collect { |user| user.firstname, user.lastname}

我错过了什么?

1 个答案:

答案 0 :(得分:5)

collect返回一个数组。

你可以把它变成一对数组:

User.all.collect { |user| [user.firstname, user.lastname]}

使用ActiveRecord pluck,您可以获得更高效请求的相同结果:

User.pluck(:firstname, :lastname)

您还可以collect“名字,姓氏”:

User.all.collect { |user| "#{user.firstname}, #{user.lastname}"}