Rails - ActiveAdmin - 无法获得要显示的关联模态属性

时间:2016-06-25 18:30:17

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

我正在使用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"

这种作品。它确实得到了数据,但我没有显示属性值,而是看起来只是得到一个内存地址引用:

How the Account column looks

我应该在这里说我对Ruby和Rails都很陌生,所以很可能我只是忽略了这一点。考虑到我拥有的东西,有什么我错过了吗?

1 个答案:

答案 0 :(得分:1)

account.users.each将返回一个User对象数组。这就是为什么你得到像#34;内存地址参考"的原因。要返回user.name的列表,您应该执行以下操作:

column :users do |account|
  account.users.pluck(:name).join(', ')
end

我在这里使用join将名字数组转换为字符串。我不确定没有join,会显示什么。你可以自己试试:)