无法遍历对象的属性

时间:2020-03-17 14:22:40

标签: ruby-on-rails ruby attributes instance-variables

我想访问DocumentUser实例变量中的body = """ 1 No. of A 600 No. of B 2 No. of C 6 No. of A 500 No. of B 4 No. of C 7 No. of A 501 No. of B 5 No. of C """ temp_body = body.strip().split("\n") parsed_body = [temp_body[(0 + i - 6):i] for i in range(6, len(temp_body) + 1, 6)] import pandas as pd df = pd.DataFrame(parsed_body) df.to_csv('output.csv', sep=',', header=None, index=None) 值并将其添加到数组中。但是,虽然定义了函数document_id并且可以使用它访问ids值,但是没有为该类定义函数id。我可以继续对其进行定义,但是我的问题是-我可以不这样做而访问document_ids值吗,也许可以通过某种方式使用document_ids函数(这使我感到困惑)?我以为我可以遍历该模型,因为它看起来像返回一个Array,但没有骰子。谢谢!

map

1 个答案:

答案 0 :(得分:1)

是的,就是这样:

@current_user.document_users.map(&:document_id)

这是它的简写:

@current_user.document_users.map { |document_user| document_user.document_id }

由于它可能是ActiveRecord类,因此使用pluck甚至是达到此结果的更好方法:

@current_user.document_users.pluck(:document_id)