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
而已!