2013-01-23 2 views
1

jQuery를 사용하는 Ruby Rails 애플리케이션이 있는데 플러그인을로드하려고하지만 작동하지 않습니다. 스크립트가 "올바른"순서 (즉, jquery, jquery_ujs, 플러그인, 자체 스크립트)로로드되지만 "nice : 'undefined'가 함수가 아닙니다."라는 플러그인 기능 (특히 niceScroll 및 jScrollPane 테스트)이 실패합니다. Web Inspector에서 jQuery 스크립트 다음에 플러그인 스크립트가 성공적으로로드되었음을 알 수 있지만 작동시키지 못합니다.jQuery 플러그인이 작동하지 않습니다 ... "유형 오류 : '정의되지 않은'이 함수가 아닙니다."

jQuery itselt는 완벽하게 작동하며 사실 Turbolinks 및 jQuery 터보 링크도 잘 작동합니다. 그러나 "$('.something').niceScroll"(또는 다른 플러그인)을 호출하면 위에서 언급 한 유형 오류가 발생합니다. 여기

내 aplication.js입니다 :

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require jquery.turbolinks 
//= require socket.io 
//= require jquery.jscrollpane.min 
//= require jquery.mousewheel 
//= require auctions 

어떤 응용 프로그램 레이아웃에 배치, 수율이 (부분) HTML : 또한

<head> 
    <title>Slamlaunch</title> 
    <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/active_admin.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/auctions.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/marketing/marketing.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/patches.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/products.css?body=1" media="all" rel="stylesheet" type="text/css"> 
<link href="/assets/sessions.css?body=1" media="all" rel="stylesheet" type="text/css"> 
    <script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-transition.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-affix.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-alert.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-button.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-carousel.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-collapse.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-dropdown.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-modal.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-scrollspy.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tab.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tooltip.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-popover.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-typeahead.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script> 
<script src="/assets/turbolinks.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.turbolinks.js?body=1" type="text/javascript"></script> 
<script src="/assets/socket.io.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.jscrollpane.min.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.mousewheel.js?body=1" type="text/javascript"></script> 
<script src="/assets/auctions.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 
    <meta content="authenticity_token" name="csrf-param"> 
<meta content="LzMLqv0Sb7+89JGe0U5x2ZGkECJ4l1gfbiD/81jFJD4=" name="csrf-token"> 
</head> 

, 그래, 관련 모든 코드 모든 라이브러리가로드 된 후에 $ (function() {}) 블록이나 콘솔에서 실행됩니다. 이 문제는 주로하기 때문에 당신에 따라 스크립트의 잘못된로드의 발생

+1

스크립트를로드하는 곳의 일부 코드를 제공하십시오. –

+0

이러한 플러그인을로드하는 위치와 관련된 몇 가지 코드를 제공해야합니다. – Alpay

+2

$가 정의되지 않은 경우 $ .noConflict가 호출되거나 jquery가 포함되지 않습니다. 이 정의되지 않은 경우 jQuery를 두 번 포함하거나 플러그인이 포함되지 않습니다. –

답변

4


JQuery와 다운로드되지 않는 확인하려고도

$(function(){ 
//your code 
}) 

내부의 모든 코드를 넣어 귀하의 경우가 아니다 두 번

+2

내 jquery를 두 번 다운로드 중입니다! 감사합니다 Parv 및/또는 Robert! – TWright

+1

내 jquery도 바닥 글에 다운로드 중입니다. 나는 신청서를 작성하지 않았기 때문에 나는 알지 못했다. – user3413723

관련 문제