2011-01-09 7 views
2

Ich habe dies getan, mit Ajax & php gesehen, aber nicht Schienen 3.Wie reichen Sie ein Formular "Rails 3" ein, ohne die Seite zu aktualisieren?

Ich habe versucht mit:

aber die Seite aktualisiert wird noch jedes Mal. Ich erstelle ein Point-of-Sale-Programm, damit die Seite nicht aktualisiert werden soll.

Wie sende ich die Formulardaten an den Controller, um in der Datenbank ohne Aktualisierung zu verarbeiten und zu speichern?

+1

Dieser Code _should_ sendet eine Ajax-Anfrage, solange Sie eine richtige rails.js-Datei enthalten haben. Könnten Sie den generierten HTML-Code auf pastebin.com veröffentlichen? – Dogbert

Antwort

0

Mit Rails 3 und kommen von der UJS, reicht die einfache Tatsache, das Attribut remote hinzuzufügen, um eine Anfrage zu AJAX zu transformieren.

Aber für die Anfrage als AJAX behandelt wird, bedeutet dies, dass Sie die Rails Javascript Bibliothek geladen haben.

Das bedeutet, dass Sie die Datei rails.js in Ihre Kopfzeile einfügen sollten.

In Ihrem layout.erb.html, sollten Sie finden

<%= javascript_include_tag :defaults %> 

Und in Ihrem öffentlichen/Javascripts Verzeichnis, sollten Sie finden:

application.js, controls.js, dragdrop.js, effects.js, prototype.js, rails.js 

Dann sollte es funktionieren.

+0

Ich habe alle diese Dateien und den Code, aber es funktioniert immer noch nicht. Ich habe Timer auf der Seite und wenn ich einreiche, wird der Timer zurückgesetzt. –

-1

Wenn Sie in Schienen sind, sollten Sie einige Dateien auch im .js-Format erstellen und nach dem Speichern im Controller rendern. Zum Beispiel render create.js nach dem Speichern in create controller. In der Datei create.js.erb sollten Sie nach dem Speichern dieses Formulars das zurückgeben, was Sie anzeigen möchten

Verwandte Themen