Activerecord Collection Association to array

时间:2013-10-28 19:13:43

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

到目前为止,我做了这个步骤:

a = Department.find(2)

b = a.employees

然后我得到:

#<ActiveRecord::Associations::CollectionProxy [#<Employee id: 4, username: "humo
 era", password_digest: "$2a$10$wTDZnPCPdqbxF0.rg4GSD.4ez7IMAEKVNM/BweNyb2rW...",..

接下来我打电话给:

b.is_kind_of?(Array)
=> false

所以你怎么看我没有得到阵列!我的问题是如何才能让所有员工usernames进入阵列?感谢

1 个答案:

答案 0 :(得分:2)

 > a = Department.find(2)
 > b = a.employees.all     # .all will actually fetch the records
 > b.class
=> Array

employees是一个关联,您可以将其视为一个对象,其中包含从数据库中获取关联的对象的必要信息和方法。它本身不是数组,但是如果你调用b.all,你将获取所有相关对象,如果你调用b.each,你可以遍历它们。