尝试迭代activerecord以获取值

use*_*036 0 ruby activerecord ruby-on-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">]> 
Run Code Online (Sandbox Code Playgroud)

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

WantedEquipment.all.each do |eq|
     eq.email
end
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ohl 8

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

WantedEquipment.pluck(:email)
Run Code Online (Sandbox Code Playgroud)

这将转换为以下SQL:

SELECT "wanted_equipments"."email" FROM "wanted_equipments"
Run Code Online (Sandbox Code Playgroud)