2

我在将 select2-rails 与 ActiveAdmin 集成时遇到了困难。我按照 Select2-rails Github 页面上的设置步骤操作:https ://github.com/argerim/select2-rails并添加了一行:

//= require select2

app/assets/javascripts/application.js和行:

*= require select2

app/assets/stylesheets/application.css

所以我假设当我在 ActiveAdmin 中有页面时,我应该能够添加行:

$('#add_student_select').select2() 

active_admin.js.coffee

但它不起作用。在控制台中,我可以看到以下错误:

Uncaught TypeError: undefined is not a function
(anonymous function)
fire
self.fireWith
jQuery.extend.ready
completed

我还关注了这个StackOverflow 问题,建议将此行添加到active_admin.css.scss

body.active_admin {
  @import "select2";
}

但后来我收到以下错误:

File to import not found or unreadable: select2.

我是否正确集成它?我认为 ActiveAdmin 甚至无法访问图书馆。

4

2 回答 2

4

如果要将 Select2 添加到 ActiveAdmin 界面,则必须将 javascript 和样式添加到 ActiveAdmin 资产:

# app/assets/javascripts/active_admin.js.coffee
#
#= require select2
#
# ...

和样式表:

// app/assets/stylesheets/active_admin.css.scss
//
//= require select2
//
// ...

在您提供的示例中,Select2 可用于主 Rails 应用程序,但不能用于 ActiveAdmin。ActiveAdmin 使用自己的 javascript 和样式表文件。

于 2014-05-08T17:22:31.697 回答
0

我在使 select2 与 activeadmin 一起工作时遇到了同样的问题,但我使用了一个名为 activeadmin-select2 的 gem。我已经根据自述文件安装了它,但我仍然收到错误“找不到或无法读取要导入的文件:select2.”。但是,似乎 select2-rails 尚未安装或无法访问。所以然后我尝试添加select2-rails到我的 Gemfile 中,并打包,最后,一切都很顺利。您应该先检查您的 gem 加载,然后才能使其工作。

于 2015-08-16T02:52:44.477 回答