ActiveAdmin自动创建单个嵌套项

时间:2017-10-02 14:59:31

标签: ruby activeadmin

我有User,每个用户必须有一个Contact项(但并非所有联系人都需要有用户)。用户可以通过嵌套表单创建联系人,但我对此不满意。

如何设置它以便在我转到新User时自动创建第一个并且不允许我添加更多联系人项目?

1 个答案:

答案 0 :(得分:0)

在做了一些搜索后,我找到了答案,它有两个步骤。

首先,为了确保首先创建第一个嵌套项,您需要首先覆盖控制器的新方法并首先初始化所需的所有子项,这将导致页面使用创建的嵌套项呈现。

以我的问题为例,你可以这样做:

controller do
  def new
    @user = User.new
    @user.contact = Contact.new
    new!
  end
end

第二种是将以下内容添加到active_admin css文件中:

#new_user .has_many_remove {
  display: none;
}

#new_user是我的表单的名称,请将其替换为表单的名称。

我在ActiveAdmin的github问题上找到了答案here