activeadmin 关联下拉列表中的多个属性

Multiple attributes in activeadmin associated dropdown

我正在使用 Active Admin,我有两个模型 UserPost.关系是 User 有很多 Post 并且 Post 属于 User。 User 的属性是name, id, phone-number, email and address。在 Post 的新形式中,关联的用户下拉列表仅显示每个用户的名称,但我想显示每个用户的 name,phone-number and address。我是 RoR 的新手。因此,我们将不胜感激任何帮助。

要修改关联的下拉列表,您应该在 ActiveAdmin 表单中编辑表单关联的输入。 ActiveAdmin 使用 formtastic 为您的模型生成表单。当您将 Post 表单中的用户模型设置为 f.input :user ActiveAdmin 时,将输入类型设置为 :select

因此,您可以使用 f.input :user, as: :select,它的工作方式相同。

Formtastic Select让我们通过member_label属性编辑每个选项中呈现的标签。首先将 属性 添加到您在 ActiveAdmin 表单中的输入 f.input :user, member_label: :full_label,然后在您的用户模型中声明 full_label 方法,返回带有用户属性的连接字符串。

def full_label
  "#{name} - #{phone-number} - #{address}"
end