ActiveAdmin的belongs_to关联默认为必需关联,这意味着如果没有关联时,会引发错误。然而,如果我们想要将关联设为可选的,该怎么办呢?
解决方法如下:
在ActiveAdmin注册模型时,可以使用以下代码将belongs_to属于设为可选:
ActiveAdmin.register Post do
belongs_to :user, optional: true
end
在这里,我们将可选的选项设置为true。
接下来,我们将在ActiveAdmin表单中显示可选的belongs_to关系。使用下面的代码为此添加相应的表单输入类型和选项:
ActiveAdmin.register Post do
belongs_to :user, optional: true
form do |f|
# ...
f.input :user, as: :select, collection: User.all, include_blank: true
# ...
end
end
在这里,我们使用了select作为输入类型,并将包含blank选项的用户集合传递给它。
这样,我们就可以将ActiveAdmin的belongs_to关联设置为可选了。