Ruby on rails 无法遍历对象的属性

Ruby on rails 无法遍历对象的属性,ruby-on-rails,ruby,attributes,instance-variables,Ruby On Rails,Ruby,Attributes,Instance Variables,我想访问DocumentUser实例变量中的document\u id值,并将其添加到数组中。但是,虽然定义了函数id,并且我可以使用它访问id值,但是没有为此类定义函数document\u id。我可以继续定义它,但我的问题是-我是否可以访问文档ID值而不这样做,或者通过某种方式使用映射函数(这让我感到困惑)?我想我可以遍历这个模型,因为它看起来像是返回一个数组,但没有骰子。谢谢 [110] pry(#<#<Class:0x00007f99646b1b60>>)>

我想访问DocumentUser实例变量中的
document\u id
值,并将其添加到数组中。但是,虽然定义了函数
id
,并且我可以使用它访问
id
值,但是没有为此类定义函数
document\u id
。我可以继续定义它,但我的问题是-我是否可以访问
文档ID
值而不这样做,或者通过某种方式使用
映射
函数(这让我感到困惑)?我想我可以遍历这个模型,因为它看起来像是返回一个数组,但没有骰子。谢谢

[110] pry(#<#<Class:0x00007f99646b1b60>>)> @current_user.document_users.each { |n| puts n }
#<DocumentUser:0x00007f9957cce118>
=> [#<DocumentUser:0x00007f9957cce118
  id: 382,
  user_id: 26638,
  document_id: 282,
  created_at: Wed, 08 May 2019 15:05:42 CDT -05:00,
  updated_at: Wed, 08 May 2019 15:05:42 CDT -05:00>]
[110]pry(#)>@current_user.document_users.each{n}放置n}
#
=> [#]
是的,应该是这样的:

@current_user.document_users.map(&:document_id)
这是这个的简写:

@current_user.document_users.map { |document_user| document_user.document_id }
因为它可能是
ActiveRecord
类,所以使用
pulk
是实现此结果的更好方法:

@current_user.document_users.pluck(:document_id)