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

时间:2015-05-21 12:26:15

标签: ruby-on-rails 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

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

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

enter image description here

1 个答案:

答案 0 :(得分:2)

是。查看chosen_rails gem

请务必仔细遵循安装建议(即需要js,css等)。

您的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' }

以下是根据文档的示例:

f.association

但我不记得Formtastic是否email

你应该尝试这两个例子的不同成分。 它会做什么,你会开始输入public class NumberEvaluator<T extends Number> extends Evaluator<T> { } (你可以选择任何其他属性),它会立即选择这些,这些已匹配已经输入的字母。