,可以通过使用collection_check_boxes
方法来实现。
collection_check_boxes
方法是Rails提供的一个辅助方法,用于生成多个复选框。它接受一个集合对象和一个属性作为参数,并根据集合对象的每个元素生成一个复选框。
首先,确保你已经在Gemfile中添加了ActiveAdmin gem,并运行了bundle install
命令。
在ActiveAdmin的资源文件中,使用form
方法创建一个表单,并在表单中使用collection_check_boxes
方法来生成多个复选框。例如,如果你有一个名为User
的模型,并且你想在ActiveAdmin中编辑用户的角色,可以按照以下步骤进行操作:
form
方法创建一个表单:form do |f|
f.inputs "User Details" do
# 其他表单字段...
f.input :roles, as: :check_boxes, collection: Role.all
end
f.actions
end
f.input :roles
表示要编辑用户的roles
属性,as: :check_boxes
表示使用复选框作为输入类型,collection: Role.all
表示复选框的选项来自于Role
模型的所有记录。f.input
方法中传递一个选中的角色集合。例如,如果你想预先选中Role
模型中id
为1和3的角色,可以按照以下方式修改代码:form do |f|
f.inputs "User Details" do
# 其他表单字段...
f.input :roles, as: :check_boxes, collection: Role.all, checked: [1, 3]
end
f.actions
end
在上述代码中,checked: [1, 3]
表示要预先选中id
为1和3的角色。
这样,当你在ActiveAdmin中编辑用户时,将会看到预先选中了指定的复选框。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)。
腾讯云云服务器(CVM):腾讯云提供的弹性计算服务,可快速创建和部署云服务器实例,满足不同业务场景的需求。详情请参考:腾讯云云服务器(CVM)
腾讯云数据库MySQL版:腾讯云提供的高性能、可扩展的关系型数据库服务,适用于各种规模的应用程序。详情请参考:腾讯云数据库MySQL版
腾讯云对象存储(COS):腾讯云提供的安全、稳定、低成本的云端存储服务,可用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云