可以使用Active Admin提供的collection_check_boxes方法,配合自定义的一个方法来实现数组值的多选。
1.首先,在Active Admin中定义一个方法,用来将数组转化为选项,以下为示例代码:
def options_for_array_select(arr)
arr.map { |a| [a.humanize, a] }
end
2.然后在需要使用多选的页面中,利用collection_check_boxes方法来生成多选框,代码示例:
f.input :model_attribute, as: :check_boxes, multiple: true, collection: options_for_array_select(Model.pluck(:attribute).uniq.sort)
其中,:model_attribute
指定需要多选的模型属性,Model
为数据模型,:attribute
为需要选择的数组值。
通过这样的方式,就可以在Active Admin中实现针对数组值的多选了。