我在rails active admin中使用activeadmin_addons插件来使用ajax填充选择下拉列表,因为我使用了Select2(activeadmin_addons给出的search_select)。添加工作正常,但在编辑表单场景中加载活动管理表单时,我无法为选择下拉列表设置默认值。
答案 0 :(得分:0)
最后我有了更好的选择。我使用了Activeadmin :: AjaxFilter gem,用于使用ajax填充下拉列表,并且还在编辑时提供了字段设置的默认值。
以上宝石的文档不好,所以我会给你一些提示:
对于Ajax请求响应应该是:
[{"id":"hello","manufacturer":"hello"}]
这里“id”是你在“value_field”(选项)和
中设置的此处“制造商”是您在“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是主动管理员选择下拉列表中自动完成功能的不错选择。