2012-02-07 4 views
1

jquery + rails 애플리케이션을 설정 중입니다. jquery를 포함하면 문제가없는 것 같습니다. 결코>Rails 3 프로젝트에서 Jquery 코드가 실행되지 않습니다.

$('ul.nav li').each(function(){ 
    console.log('Iterating'); 
}); 

$('a').bind('click', function() { 
    alert('Unobtrusive!'); 
}); 

코드 실행, 왜 - 마지막으로 마지막으로 생성 된 소스 파일은 파일 dashboard.js에서

<!DOCTYPE html> 
<html> 
    <head> 
     <title>CodeAliker</title> 
     <link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" /> 
<link href="/assets/bootstrap.css?body=1" media="screen" 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/application.js?body=1" type="text/javascript"></script> 
     <meta content="authenticity_token" name="csrf-param" /> 
<meta content="EIklYq2jXM/BSsN+M0V5x9GoFA+WjwYuD0kuLBkjIUg=" name="csrf-token" /> 
    </head> 

    <body> 

     <script src="/assets/dashboard.js?body=1" type="text/javascript"></script> 
<link href="/assets/dashboard.css?body=1" media="screen" rel="stylesheet" type="text/css" /> 

<div class="topbar"> 
    <div class="fill"> 
      <div class="container"> 
      <a class="brand" href="#">CodeAliker</a> 
      <ul class="nav"> 
       <li class="active" name='useritem'> 
        <a href="#user" >+myth</a> 
       </li> 
       <li name='dashitem'> 
        <a href="#panel">Dashboard</a> 
       </li> 
       <li> 
        <a href="/about.html">About</a> 
       </li> 
       <li class="nav secondary"> 
        <a href="/getout">SignOut</a> 
       <li> 
      </ul> 
      </div> 
    </div> 
</div> 

<div id="bodydiv"> 
    <div class="container-fluid"> 
    <div class="sidebar"> 
       <table class="bordered-table"> 
       <thead> 
        <tr> 
        <th>BATCH List</th> 
        </tr> 
       </thead>       
       <tbody id='table-body'> 
        <tr> 
        <td><a href="#">samplebatch</a></th> 
        </tr> 
       </tbody>  
      </table> 
    </div> 

    <div class="content"> 
       ... 
    </div> 
    </div> 
</div> 


    </body> 
</html> 

내 jQuery 코드의 모양 없습니다> ---처럼 보인다? 그러나 간단한 console.log()를 dashscript.js에 삽입하면 인쇄됩니다!

+0

왜'body'에'script'와'link'를 넣었습니까? 모든 것을 '머리'에 넣으십시오. 시도해 봐. –

+0

컨트롤러 별 스크립트이고 응용 프로그램 전체 스크립트가 아니므로이를 'dashboard.html.erb'파일에 포함 시켰습니다. 생성 된 코드는 그것을 머리에 넣지 않았습니다. : | –

+0

dashboard.js가 다운로드 되었습니까? 바이올린을 체크인 할 수 있습니다. 또한 스크립트를 새로 고치는 쿼리 문자열을 넣고 body = 2로 증가 시키십시오. 스크립트를 업데이트했을 수 있으며 브라우저가 이전 버전을 캐시했습니다. –

답변

2

나는 jsFiddle.net에 코드를 삽입하고 그것을 작동 : http://jsfiddle.net/kskHX/2/

문제 dashboard.js 다운로드 가져 오지 귀하의

  • 같은 URL이 잘못되었거나 유효하지 않습니다 수 있습니다있을 수 있습니다. 피들러, 방화 녀, 크롬 콘솔에 오류가 있는지 확인하십시오.
  • 브라우저가 js 파일을 캐시했으며 업데이트 된 파일이 다운로드되지 않습니다. js에 대한 쿼리 문자열을 변경하고 다시 시도하십시오.

    dashboard.js 다운로드하기되었지만 기능을 실행하기되지 않은

솔루션, $(document).ready(에 코드를 이동하도록 요청하고 일했다.

희망 정보는 도움이됩니다.

+0

그 밖의 것이 있으면 dashboard.js가 다운로드 중입니다. 또한 브라우저 캐시를 지우고 다시 시도했습니다. : | –

+1

예! 이제 완벽하게 작동합니다. 도와 주셔서 감사합니다! :) –

관련 문제