如何编写表格以使用ActiveAdmin输入文本列表?

时间:2019-06-04 17:40:03

标签: ruby-on-rails-5 activeadmin formtastic

我正在为一条包含一个字符串数组的记录编写一个ActiveAdmin表单。我们称它们为小部件。我正在使用这样的多选表格:

ActiveAdmin.register Things do
  permit_params widgets[]

  form do |f|
    f.inputs do
      ...
      f.input :widgets,
        as: :select,
        collection: [],
        multiple: true
    end
  end
end

带有一些Java脚本,可以帮助用户输入其小部件,并且可以将其作为字符串数组交付。但是,在编辑现有记录时,现有record.widgets不会填充到该字段中,而小部件字段为空白。我怀疑正在发生什么是ActiveAdmin / Formtastic将此选择解释为与Widget的has_many关系,而将字符串解释为Widget ID。 ActiveAdmin忽略了失败。

如何编写输入以使用ActiveAdmin将纯字符串数组传递到模型中?我希望我的参数为params[:thing][:widgets] = ["foo", "bar"]

1 个答案:

答案 0 :(得分:0)

通过提供collection: [],您告诉表单始终以空白数组开头。

您需要向表单提供实际的Thing小部件。您需要修改示例以使其与您编写的选择框/ javascript一起使用-请记住,集合需要一个数组-collection: resource.widgets.split(',')