【问题标题】:How can I write a form to input a list of text with ActiveAdmin?如何编写表单以使用 ActiveAdmin 输入文本列表?
【发布时间】:2019-06-04 17:40:03
【问题描述】:

我正在为采用字符串数组的记录编写 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

使用一些 Javascript 来帮助用户输入他们的小部件,它会以字符串数组的形式交付就好了。但是在编辑现有记录时,现有的record.widgets 未填充到该字段中,小部件字段为空白。我怀疑正在发生的事情是 ActiveAdmin/Formtastic 将此选择解释为与 Widget 的 has_many 关系,并将字符串解释为 Widget ID。 ActiveAdmin 正在忽略失败。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      相关资源
      最近更新 更多