2010-11-22 10 views
7

Ich versuche, diese Funktion zu erhalten, indem Sie das Tutorial an:Problem mit AJAX und UJS mit jQuery in Rails 3

http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/

und die Railscast bei

http://railscasts.com/episodes/205-unobtrusive-javascript

.. In beiden Fällen habe ich das gleiche Problem. Der Controller rendert die .js-Vorlage nicht (es wird auf .html zurückgegriffen), da die Anforderungsheader JavaScript nicht so anfordert, wie es sein sollte.

Ich verwende die Jquery UJS von Github und jquery 1.4.4

Die „Daten-remote = true“ -Attribut auf die Form zugeführt wird, wie es sein soll. Aber aus irgendeinem Grund ändert dies die Anfrage nicht.

Wenn ich zu prototype.js umschalte funktioniert es (mit den Standard-prototype.js und rails.js von Schienen).

Ich bin mit Schienen 3.0.0

Alle geschätzt Vorschläge.

+0

dies in allen Browsern passieren tut oder nur eine bestimmte ein? – monocle

+1

können Sie bitte einige Beispielcode, wie die Controller-Aktion, die Sie verwenden, um die Vorlage zu rendern – scaney

+0

Können Sie zeigen, verwenden Sie die Fehler in der JavaScript-Konsole in Ihrem Browser (in Chrome oder Firebug in Firefox). – nathanvda

Antwort

0

Nach einem Tag verschwenden ... :-(

Ich fand, dass, wenn Sie eine neue Rails 3-Anwendung erzeugen, eine Datei namens rails.js in der Öffentlichkeit erstellt/Javascripts Ordner mit allen anderen zusammen. js Dateien, die Sie verwendet werden, in einer Rails-2-Projekt zu sehen.

rails.js enthält alle unaufdringlich Handler. standardmäßig Rails vorausgesetzt, dass Sie Prototype.js verwenden.

Für JQuery die Datei rails.js ersetzen mit https://github.com/rails/jquery-ujs

Der untenstehenden Link half mir: http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/

+0

Rakesh, ich sagte direkt in meiner Frage, dass ich die rails.js durch die jquery-ujs ersetzt hatte). –

0

Der "aktuelle" beste Weg, dies zu handhaben ist, diese Welpen zu Ihrem gemfile

https://github.com/indirect/jquery-rails

Laufe

bundle install 

dann

hinzufügen
rails generate jquery:install #--ui to enable jQuery UI --version to install specific version of JQuery (default is 1.4.2) 

dann sind Sie fertig - es überschreibt die Standard-rails.js, wenn Sie den Generator ausführen.

0

Ich hatte ähnliche issues.Then, entschied ich mich, da das Problem mit Ajax war, ich mit etwas anfangen sollte sehr simple.So, begann ich mit This