Код Jquery не выполняется в Rails 3 Project - PullRequest
1 голос
/ 07 февраля 2012

Я устанавливаю приложение jquery + rails. Кажется, нет проблем с включением jquery. Окончательно сгенерированный исходный файл выглядит как --->

<!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 в файле dashboard.js выглядит так ->

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

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

Код никогда не выполняется, почему? Однако, вставив простой console.log () в распечатки dashscript.js!

1 Ответ

2 голосов
/ 07 февраля 2012

Я поместил ваш код в jsFiddle.net, и он работает: http://jsfiddle.net/kskHX/2/

Может быть проблема как

  • Ваш dashboard.js не загружается, возможно, URL неверный или недействительный. Проверьте в Fiddler, Firebug или консоли Chrome на наличие ошибок.
  • Ваш браузер кэшировал файл js, и обновленный файл не загружается. Измените строку запроса для js и попробуйте снова.

Решение

Загружается dashboard.js, но функции не выполняются, его просят перевести код на $(document).ready(, и он работает.

Надеюсь, эта информация поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...