ActiveAdmin:编辑模型实例时下拉太大

我有两个模型: UserDeviceUserInfo如下(在schema.rb中):

  create_table "user_devices", force: :cascade do |t| t.integer "user_info_id" t.string "platform" t.string "unique_id" t.string "id_for_push" t.string "last_ip" t.string "unique_id_type" t.datetime "created_at", null: false t.datetime "updated_at", null: false end add_index "user_devices", ["user_info_id"], name: "index_user_devices_on_user_info_id", using: :btree create_table "user_infos", force: :cascade do |t| t.string "google_unique_id" t.string "email" t.uuid "user_id" end 

编辑用户设备时,我可以选择太多选项。 这两者加载时间太长,从如此庞大的列表中选择也是不切实际的 – 见图像。

如何将此下拉控件更改为更人性化的输入?

在此处输入图像描述

是。 查看selected_rails gem 。

确保仔细遵循安装建议(即需要js,css等)。

您的user_info输入将如下所示:

 f.input :user_info, collection: -> { UserInfo.pluck(:id, :email) }, input_html: { class: 'chosen-select' } 

以下是根据文档的示例:

 f.association :user_info, collection: UserInfo.pluck(:id, :email), include_blank: true, input_html: { class: 'chosen-select' } 

但我不记得Formtastic是否有f.association

你应该尝试这两个例子的不同成分。 它会做什么,你会开始输入email (你可以选择任何其他属性),它会立即选择这些,这些已匹配已经输入的字母。