无法在 ajax search_select 的 Activeadmin Addons 插件中设置默认值

Unable to set default value in Activeadmin Addons Plugin for ajax search_select

我在 rails 活动管理员中使用 activeadmin_addons 插件来使用 ajax 填充 select 下拉列表,为此我使用了 Select2(search_select activeadmin_addons)。加载项工作正常,但在编辑表单场景的情况下加载活动管理表单时,我无法为 select 下拉列表设置默认值。

终于找到更好的选择了。我使用 Activeadmin::AjaxFilter gem,使用 ajax 填充下拉列表,它还提供了在编辑时设置字段的默认值。

上面gem的文档不好,所以我会给你一些提示:

对于 Ajax 请求响应应该是这样的:

[{"id":"hello","manufacturer":"hello"}]

这里"id"是你在"value_field"(选项)和

中设置的

这里"manufacturer"是你在"search_fields"(选项)里设置的。

在活动管理员的编辑表单中设置默认值的示例。

form do |f|
  f.semantic_errors # shows errors on :base
  f.object.updated_by = current_user.id
  f.object.virtual_manufacturer =            f.object.medicine_manufacturer.try(:id) unless f.object.new_record?
  f.inputs "Medicine" do
    input :strength
    input :virtual_manufacturer, label: "Manufacturer", as: :ajax_select, data: {
      url: autocomplete_medicinemaster_manufacturer_admin_medicinemasters_path,
      search_fields: [:manufacturer],
  }
end

这里我有 virtual_manufacturer 的预填充值。加载表单编辑表单后,会自动命中api,默认值为

这个 gem 是在活动管理 select 下拉列表中自动完成的不错选择。