我有User
,每个用户必须有一个Contact
项(但并非所有联系人都需要有用户)。用户可以通过嵌套表单创建联系人,但我对此不满意。
如何设置它以便在我转到新User
时自动创建第一个并且不允许我添加更多联系人项目?
答案 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。