尝试迭代activerecord以获取值

时间:2017-02-28 05:02:20

标签: ruby-on-rails ruby activerecord

我正在尝试迭代以下活动记录

Can I change the dimensions of the background image for mobiles or have an entirely separate image?

收集列电子邮件的值。我对红宝石很安静。 我在rails控制台上运行了以下命令。

#<ActiveRecord::Relation [#<WantedEquipment id: 1, identifier: "WEID-0000001", title: "Wanted a Test Equipment", category_id: 1, sub_category_id: 3, listing_type: nil, description: "This is a test wanted equipment.", name: "John", email: "john.user@mailinator.com", user_id: nil, status: 1, created_at: "2017-02-25 16:10:35", updated_at: "2017-02-25 16:10:35">, #<WantedEquipment id: 2, identifier: "WEID-0000002", title: "Wanted a Test Equipment1", category_id: 1, sub_category_id: 3, listing_type: nil, description: "This is a test wanted equipment.", name: "John", email: "john.user@mailinator.com", user_id: nil, status: 1, created_at: "2017-02-25 16:10:50", updated_at: "2017-02-25 16:10:50">]> 

结果我再次获得了整个表格,而不仅仅是电子邮件。有人可以在这里指导我吗?

3 个答案:

答案 0 :(得分:8)

如果你需要的只是电子邮件地址而不是实际的AR对象,那么请使用:

WantedEquipment.pluck(:email)

这将转换为以下SQL:

SELECT "wanted_equipments"."email" FROM "wanted_equipments"

答案 1 :(得分:1)

您可以使用以下方式选择所有电子邮件

WantedEquipment.select('email')

如果可能,请始终使用数据库级内存而不是系统。

答案 2 :(得分:1)

您可以选择或选择此处。

WantedEquipment.pluck(:email)

WantedEquipment.select(:email)

取决于您的结果集performance,您可以使用任何人。