2009-11-19 3 views
0

J'essaie donc d'obtenir du code jQuery basique avec Rails, mais cela ne semble pas fonctionner. J'ai regardé autour et il semble que je suis correctement toutes les directions et l'ai essayé dans plusieurs navigateurs sans succès. Essentiellement, je suis juste essayer de glisser un div sur le document prêt, mais il reste juste là :(jQuery ne fonctionne pas avec 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> 

Toute quiconque d'information peut fournir serait appréciée!

Répondre

5

Le problème peut être que Rails utilise un prototype prêt à l'emploi. Il peut y avoir un conflit entre les deux bibliothèques (elles utilisent toutes deux le signe $).

Jetez un oeil à ceci: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Ensuite, vous devriez essayer:

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

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

Ensuite, si vous voulez continuer à utiliser prototype, vous pouvez toujours utiliser à l'aide du signe $.

+0

Vous ne pouvez pas utiliser de prototype et aller avec jRails (http://github.com/aaronchi/jrails) – marcgg

+0

Voir la section 'Référencer Magic - Raccourcis pour jQuery' (http://docs.jquery.com/Using_jQuery_with_Other_Libraries) pour un moyen de garder la signification de $ pour jQuery et Prototype afin que vous puissiez utiliser toutes ces bibliothèques jQuery cool là-bas. –

0

« ne fonctionne pas » est un peu vague. vérifie que les fichiers sont correctement inclus dans le javascript_include_tag. Autant que je sache, quand vous mettez un point dans le nom de fichier, l'aide n'ajoute pas automatiquement l'extension .js. vous devez inclure le nom complet.

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

De plus, je voudrais d suggérer d'utiliser jRails.