2009-11-19 2 views
0

Итак, я пытаюсь получить базовый код jQuery с Rails, но он, похоже, не работает. Я огляделся, и кажется, что я правильно следую всем указаниям и попробовал его в нескольких браузерах безрезультатно. По сути, я просто пытаюсь скользить вверх DIV на документ готов, но он просто остается там :(jQuery не работает с Rails

<%= javascript_include_tag ['jquery-1.3.2', 'application'], :cache => true %> 
<%= stylesheet_link_tag 'stylesheet' %> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#login').hide("slide", { direction: "up"}, 5000); 
}); 
</script> 
<div id="container"> 
    <div id="left_nav"> 
     <p>Core Functions Will Go Here</p> 
    </div> 
    <div id="headertop"></div> 
    <div id="logoheader"> 
     <%= link_to image_tag("vitaallogo.png"), root_path %>  
    </div> 
    <div id="user_nav"> 
     <% if current_user%> 
      <%= link_to "Logout", logout_path %> 
     <% else %> 
      <%= link_to "Register", {:controller => 'user', :action => 'new'}%> | 
      <%= link_to "Login", login_path %> 
     <% end %> 
    </div><br /> 
    <%= yield %>  
</div> 
<div id="login"> 
<strong>nonononononononono</strong> 
</div> 

Любая информация, кто может предоставить будут оценены!

ответ

5

Проблема может заключаться в том, что Rails использует прототип из коробки. Может существовать конфликт между двумя библиотеками (оба они используют знак $).

Взгляните на это: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Затем, вы должны попробовать, что:

<script type="text/javascript"> 
    $j = jQuery.noConflict(); 

    $j(document).ready(function() { 
     $j('#login').hide("slide", { direction: "up"}, 5000); 
    }); 
    </script> 

Затем, если вы все еще хотите использовать прототип, вы можете использовать его, используя знак $.

+0

Вы также не можете использовать прототип и перейти с помощью jRails (http://github.com/aaronchi/jrails) – marcgg

+0

См. Раздел «Ссылки на Magic - ярлыки для jQuery» (http://docs.jquery.com/Using_jQuery_with_Other_Libraries) для способа сохранить значение $ для jQuery и Prototype, чтобы вы могли использовать все эти классные библиотеки jQuery. –

0

«Не работает» немного расплывчатый. убеждается файлы корректно включены в javascript_include_tag. AFAIK, когда поставить точку в имени файла, помощник не автоматически добавляет .js расширения. Вам необходимо включить полное имя файла.

<%= javascript_include_tag 'jquery-1.3.2.js', 'application', :cache => true %> 

Кроме того, я woul d предложить использовать jRails.

Смежные вопросы