我正在使用ActiveAdmin并拥有帐户模型和用户模型。每个帐户都会与用户建立一个has_many关系,我希望能够在帐户表中列出用户名。
我已经看到了很多针对同一问题的SO问题,这就是我设法得到的:
index do
column :id
column :account_status
column :users do |account|
account.users.each do |user|
auto_link user
end
end
column :address do |account|
account.address
end
column :created_at
column :updated_at
actions
end
注意:我还尝试更换" auto_link用户"使用" user.name"
这种作品。它确实得到了数据,但我没有显示属性值,而是看起来只是得到一个内存地址引用:
我应该在这里说我对Ruby和Rails都很陌生,所以很可能我只是忽略了这一点。考虑到我拥有的东西,有什么我错过了吗?
答案 0 :(得分:1)
account.users.each
将返回一个User对象数组。这就是为什么你得到像#34;内存地址参考"的原因。要返回user.name
的列表,您应该执行以下操作:
column :users do |account|
account.users.pluck(:name).join(', ')
end
我在这里使用join
将名字数组转换为字符串。我不确定没有join
,会显示什么。你可以自己试试:)