Activeadmin阻止我的jQuery工作

我正在使用jquery拖放我的应用程序,它工作正常。

然后我添加了activeadmin,它停止了我的jquery工作。

我收到这个错误

$(".draggable_article_image").draggable is not a function 

如果我从active_admin.js中删除此行

 //= require active_admin/base 

它又开始工作了。

有任何想法吗?

如果查看activeadmin基本清单文件,您将看到调用其他jquery加载的位置。 基本清单中的最后一个调用是activeadmin应用程序清单。 因此,有一种简单的方法可以绕过不需要的额外jquery负载。

在您的应用程序的/app/assets/javascripts/active_admin.js中更改此行:

 //= require active_admin/base 

 //= require active_admin/application 

这样主动管理员的javascript代码将被加载而无需重新加载jquery。

在/ admin空间中,活动管理员加载active_admin.js而不加载application.js,因此您还需要加载application.js。 要使用,您需要在active_admin.js之前进行活动管理加载application.js。 将其添加到config / initializers / active_admin.rb:

 current_javascripts = config.javascripts.clone config.clear_javascripts! config.register_javascript 'application.js' current_javascripts.reverse.each{|j| config.register_javascript j} 

但是,请注意,为了使其无缝工作,您可能需要在应用程序的application.js清单中显示所有这些声明:

 //= require jquery //= require jquery-ui //= require jquery_ujs 

此外,当在活动管理员中加载application.js时,您需要自己管理任何命名空间冲突。

尝试将您的active_admin.js文件移动到Rails项目的vendor / assets / javascripts文件夹中:您应该没问题。

如果有人帮助我们,请告诉我们!

问候

我上面的代码有错误,所以我稍微调整了一下:

主动管理初始化:

  config.clear_javascripts! config.register_javascript 'admin/active_admin.js' current_javascripts = config.javascripts.clone config.clear_javascripts! config.register_javascript 'application.js' current_javascripts.each{ |j| config.register_javascript j } 

活跃的管理员js

  //= require active_admin/base 

而已!