2012-01-09 3 views
6

내 응용 프로그램에서 jquery 끌어서 놓기를 사용하고 있으며 정상적으로 작동합니다.Activeadmin이 내 jQuery 작업을 중지합니다.

나는 activeadmin을 추가하고 내 jquery 작업을 중단합니다. 내가

//= require active_admin/base 

active_admin.js 다시 작업 시작에서이 줄을 제거하면

는이 오류를

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

를 얻을.

아이디어가 있으십니까?

답변

9

당신이 추가 JQuery와 부하가 호출되는 경우 당신이 볼거야 activeadmin base manifest file 보면. 기본 매니페스트의 마지막 호출은 activeadmin 응용 프로그램 매니페스트에 대한 것입니다. 따라서 원하지 않는 추가 jquery로드를 우회하는 쉬운 방법이 있습니다.

변경하면 응용 프로그램의 /app/assets/javascripts/active_admin.js에서이 라인 :

//= require active_admin/base 

활성 관리자의 자바 스크립트 코드가 jQuery를 다시로드하지 않고로드됩니다 그런 식으로

//= require active_admin/application 

에.

/admin 공간에서 active admin은 application.js를로드하지 않고 active_admin.js를로드하므로 application.js도 함께로드해야합니다. 작동 시키려면 active_admin.js 앞에 활성 관리로드 application.js를 만들어야합니다. 추가 이것에 설정/초기화/active_admin.rb : 또한

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

:이 원활하게 작동하려면

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

그러나 매니페스트 앱의 application.js이 모든 선언을해야 할 수도 있습니다 점에 유의 application.js가 활성 관리자 내에로드되고 있으므로 네임 스페이스 충돌을 직접 관리해야합니다.

+2

이것은 정답이어야합니다. –

2

활성 관리자의 현재 Gem 릴리스에는 // =를 통해 포함 된 jquery의 추가 사본이 있습니다. active_admin/base가 필요합니다. 이미 애플리케이션에서 jquery를 참조한 사람들에게 많은 문제를 일으켰습니다.

사항 및 가능한 솔루션에 대한 활성 관리자 보석에이 풀 요청을 참조하십시오 Pull Request #468

-1

나는 위의 코드에 오류가 있었다, 그래서 나는 나의 조금을 쥐게 :

활성 관리자 초기화 :

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 

!

2

active_admin을 이동해보십시오.jsRails 프로젝트의 vendor/assets/javascripts 폴더에 파일이 있어야합니다. 괜찮을 것입니다.

누군가를 도왔다면 알려 주시기 바랍니다.

감사합니다.

+0

나는 너를 사랑한다 !!!!!! 그것은 작동합니다. –

관련 문제