Antwort

1

Eigentlich ist der Edelstein, den Sie verwenden, nicht gut genug. Sie sollten jquery-rails verwenden. Installieren Sie wie folgt

gem install jquery-rails 

oder fügen Sie sie Gemfile

gem 'jquery-rails' 

und tun dann

rails g jquery:install 

Dadurch wird nicht nur die prototype.js entfernt, und lädt die jquery, sondern auch (wichtig!) lädt die angepasste rails.js herunter, die mit jquery funktioniert und dafür sorgt, dass alle Standard-Rails-Helfer weiter funktionieren.

1

Sie benötigen jQuery nach Prototyp zu laden, dann jQuery.noConflict() nennen, zum Beispiel:

$j = jQuery.noConflict(); 

$j dann für jQuery anstelle von $.

Oder noch jQuery.noConflict() aufrufen, können Sie $ in einer Funktion verwenden nur, dass zum Beispiel:

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

Oder sagen Sie eine document.ready Handler tun, würde die kurze Version sein:

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

Die Rails 3-Helfer sollten auch mit jQuery arbeiten. (Sachen wie link_to ..., :remote => true), das einzige, was zu tun ist, laden Sie jQuery und die neue rails.js.

Die Ausnahme ist RJS verwandte Helfer, denke ich.

Nick Cravers Tipp wird funktionieren, damit jQuery und der Prototyp zusammenarbeiten.

Verwandte Themen