我使用jQuery拖放在我的應用程序,它工作正常。Activeadmin停止我的jQuery工作
然後我添加了activeadmin,它停止了我的jQuery的工作。
我得到這個錯誤
$(".draggable_article_image").draggable is not a function
如果我刪除從active_admin.js
//= require active_admin/base
它開始工作了這條線。
任何想法?
我使用jQuery拖放在我的應用程序,它工作正常。Activeadmin停止我的jQuery工作
然後我添加了activeadmin,它停止了我的jQuery的工作。
我得到這個錯誤
$(".draggable_article_image").draggable is not a function
如果我刪除從active_admin.js
//= require active_admin/base
它開始工作了這條線。
任何想法?
如果你看一下activeadmin base manifest file,你會看到那裏的附加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。加入這配置/初始化/ 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的當前Gem版本通過// = require active_admin/base包含jquery的附加副本,這對於已經在其應用中引用jquery的人員造成了很多問題。
查看活動管理員寶石的細節和可能的解決方案這一拉請求: Pull Request #468
我有一個錯誤與上面的代碼,所以我調整我的一點:
主動管理初始化:
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
這就是它!
嘗試移動您的active_admin。js文件到你的Rails項目的vendor/assets/javascripts文件夾:你應該沒問題。
請讓我們知道它是否有幫助!
Regards
我愛你!!!!!!有用 – 2017-10-02 13:12:47
這應該是正確的答案,我相信。 – 2013-05-30 22:38:29