首页 > 解决方案 > Select2 没有在下拉菜单中显示搜索选项?

问题描述

我已将 select2 与我的活动管理员集成。但它不能正常工作。它只显示没有搜索选项的下拉菜单。

我遵循了以下链接:(Select2-rails 不适用于 ActiveAdmin

使用的 Ruby 版本:ruby-2.6.3 [x86_64] Rails 版本:Rails 5.0.7.2

这是我的app/assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap.min
//= require_tree .
//= require select2
//= require select2_locale_pt-BR
$( "#dropdown" ).select2({
language: "zh-TW"
});

这是我的app/assets/stylesheets/application.css

 *= require bootstrap
 *= require_tree .
 *= require_self
 *= require select2
 *= require select2-bootstrap

我在这里使用了select2,

customer_location.input :area, as: :select2, collection: Region.all.map {|u| [u.area.to_s, u.id]}, :input_html => { :class => 'select2-input', :width => 'auto', "data-placeholder" => 'Select Area' }

标签: ruby-on-railsactiveadminselect2-rails

解决方案


我使用了对我来说很好的activeadmin-select2 gem

activeadmin,jquery-rails和添加select2-rails到您的 Gemfile 中:

gem 'activeadmin'
gem 'jquery-rails'
gem 'select2-rails'

并添加activeadmin-select2到您的 Gemfile:

gem 'activeadmin-select2', github: 'mfairburn/activeadmin-select2'

使用以下命令将 activeadmin-select2 调用添加到 active_admin 样式表和 javascript:

@import "active_admin/select2/base"; #add this line to your app/assets/stylesheets/active_admin.scss

#= require active_admin/select2 #add this line to your app/assets/javascripts/active_admin.js

用法:

过滤器

标准 :select 过滤器将自动转换为 Select2 过滤器。如果您想要一个多选组合框,请使用:

ActiveAdmin.register Products do
      filter :fruits, as: :select2_multiple, collection: [:apples, :bananas, :oranges]
   end

选择列表

要使用 Select2 样式列表,只需从 :select 更改为 :select2 或 :select2_multiple

ActiveAdmin.register Products do
     form do |f|
       f.input :fruit, as: :select2
     end
     form do |f|
       f.inputs "Product" do
         f.has_many :fruits, allow_destroy: true, new_record: "Add Fruit" do |e|
           e.input :fruit, as: :select2_multiple
         end
       end
     end
   end

推荐阅读