Répondre

1

En fait, la gemme que vous utilisez n'est pas assez bonne. Vous devriez utiliser jquery-rails. Installer comme suit

gem install jquery-rails 

ou l'ajouter à votre Gemfile

gem 'jquery-rails' 

puis faire

rails g jquery:install 

Cela supprime non seulement les prototype.js et télécharge le jquery, mais aussi (important!) télécharge le rails.js adapté qui fonctionne avec jquery et s'assurera que tous les rails-helpers standards continueront à fonctionner.

1

Vous devez charger jQuery après prototype, puis appelez jQuery.noConflict(), par exemple:

$j = jQuery.noConflict(); 

Utilisez ensuite $j pour jQuery au lieu de $.

Ou, appeler encore jQuery.noConflict(), vous pouvez utiliser $ dans une fonction juste pour que, par exemple:

jQuery.noConflict(); 
//$ is prototype 
(function($) { 
    //$ is jQuery 
})(jQuery); 
//$ is prototype 

Ou dire que vous faites un gestionnaire document.ready, la version courte serait:

jQuery.noConflict(); 
//$ is prototype 
jQuery(function($) { 
    //$ is jQuery, this runs when the DOM is ready 
}); 
//$ is prototype 
0

Les assistants Rails 3 devraient également fonctionner avec jQuery. (Stuff like link_to ..., :remote => true), la seule chose à faire est de charger jQuery et les nouveaux rails.js.

La seule exception concerne les aides liées à RJS. L'astuce de Nick Craver permettra de faire travailler jQuery et le prototype ensemble.