Ich habe eine sehr einfache Post-Ressource mit zwei Aktionen, index und show . Meine Vorlage enthält eine Seitenleiste mit Links zu jedem vorherigen Beitrag. Ich möchte, dass die Seitenleisten-Links ihren Inhalt (d. H. die Ergebnisse der "show" -Aktion ) über Ajax anzeigen
Ich weiß, es gibt viele ausgezeichnet tuts , die Ihnen zeigen, wie Sie ein Formular erstellen, das einreicht mit ajax aber dieses mal möchte ich damit den inhalt meines indexes anzeigen und aktionen ohne seite referensh anzeigen
. Gibt es anständige Tutorials, die Tipps geben, wie man das macht?
Ich denke, ich muss eine show.js.erb -Datei erstellen und meiner Indexaktion mitteilen, dass sie auf js reagieren soll, aber ich bin ein bisschen hängen geblieben. Ich weiß nicht genau, was ich in die Show-Aktion des Controllers oder in show.js.erb schreiben soll - es ist ein bisschen schwierig zu visualisieren, was ich tun muss
PS - Verwenden von Schienen 3.0.7, jquery-1.5
Hat das funktioniert, war es am Ende sehr einfach.
Schritt 1 - Fügen Sie :remote => true
zu Links in der Seitenleiste hinzu
Schritt 2 - Sagen Sie Ihrem Controller, dass er auf der show action
auf JS antworten soll %Vor%Schritt 3 - Erstellen Sie _post.html.haml
%Vor%Schritt 4 - Erstellen Sie show.js.erb und ersetzen Sie den HTML-Code im #main-Div durch den Inhalt des _post-Partials (den wir in Schritt 3 erstellt haben)
%Vor%Jetzt wird der gesamte Inhalt über Ajax übergeben und es funktioniert gut.
Ich habe keine vollständige Antwort parat, weil ich auch relativ neu bin.
Aber ich würde mich zunächst mit der Methode get()
von JQuery beschäftigen. Sie sollten in der Lage sein, den Index oder die show-Methode aufzurufen. Diese Methoden sollten den HTML-Code zurückgeben, der im Nicht-Seitenbereich der Seite angezeigt werden soll. Sie können den Callback-Handler von get()
verwenden, um diesen HTML-Code in das entsprechende div auf der Seite einzufügen.
Tut mir leid, dass das ein bisschen vage ist, aber wenn du damit spielst, wette ich, dass du es herausfinden wirst.
Tags und Links ruby-on-rails ajax