首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Rails ActiveAdmin中预先选中多个复选框

,可以通过使用collection_check_boxes方法来实现。

collection_check_boxes方法是Rails提供的一个辅助方法,用于生成多个复选框。它接受一个集合对象和一个属性作为参数,并根据集合对象的每个元素生成一个复选框。

首先,确保你已经在Gemfile中添加了ActiveAdmin gem,并运行了bundle install命令。

在ActiveAdmin的资源文件中,使用form方法创建一个表单,并在表单中使用collection_check_boxes方法来生成多个复选框。例如,如果你有一个名为User的模型,并且你想在ActiveAdmin中编辑用户的角色,可以按照以下步骤进行操作:

  1. 在ActiveAdmin的资源文件中,使用form方法创建一个表单:
代码语言:txt
复制
form do |f|
  f.inputs "User Details" do
    # 其他表单字段...
    f.input :roles, as: :check_boxes, collection: Role.all
  end
  f.actions
end
  1. 在上述代码中,f.input :roles表示要编辑用户的roles属性,as: :check_boxes表示使用复选框作为输入类型,collection: Role.all表示复选框的选项来自于Role模型的所有记录。
  2. 保存并刷新ActiveAdmin页面,你将看到一个包含所有角色的复选框列表。如果你想预先选中某些复选框,可以在f.input方法中传递一个选中的角色集合。例如,如果你想预先选中Role模型中id为1和3的角色,可以按照以下方式修改代码:
代码语言:txt
复制
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)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券