link_to mit jquery params in rails

8

Ich möchte eine In-Place-Suche in meiner Rails-App durchführen.
Ich benutze button_to_remote mit dem Prototyp, aber jetzt benutze ich JQuery, also habe ich mich in link_to geändert.
Das ist mein Code:

%Vor%

Ich möchte das Adress-Textfeld an meinen Controller übergeben, aber die Ausgabe ist nicht das, was ich erwartet habe.

%Vor%

Wie reiche ich meinen Wert ein?

    
pasine 27.11.2010, 16:02
quelle

4 Antworten

15

Vielleicht möchten Sie versuchen, die Dinge etwas unaufdringlicher anzugehen. Ich würde empfehlen, den Aufruf link_to durch etwas wie:

zu ersetzen %Vor%

Dies ist praktisch identisch mit dem, was Sie bereits haben, außer dass es eine eindeutige ID und auch den Controller / Geocode-Pfad in einem data-href -Attribut enthält. Dies wird Ihnen helfen, Ihren Rubin und Javascript ein bisschen mehr getrennt zu halten.

Dann in deinem application.js (oder irgendwo ähnlich):

%Vor%

Dies bewirkt, dass ein click -Ereignislistener an Ihre Suchschaltfläche gebunden wird, die die Adresse an die URL oder den Pfad im Attribut data-href Ihres Suchlinks sendet.

Ich stelle auch fest, dass Sie in Ihrem Code% code% der Quelladresse in Ruby setzen. Wenn dieses id -Attribut basierend auf einer Art von Seitenvorlagenbedingungen geändert werden muss, können Sie das Beispiel erweitern, indem Sie einen weiteren id -Parameter zu Ihrem Link hinzufügen. Zum Beispiel:

%Vor%

Und wieder, in data- , ersetzen Sie oben etwas wie folgt:

%Vor%     
theTRON 07.12.2010, 14:05
quelle
3

Der einfachste Weg ist, das Suchfeld und den Absenden-Button in eine normale Form zu bringen (mit Hilfe der Standard-Ansichtshilfen). Und Sie fügen dem Formular die Option :remote => :true hinzu. Siehe form_for url helper für die Dokumente.

Ich glaube, Sie haben bereits die jquery-spezifische Datei rails.js hinzugefügt.

Wenn Sie so vorgehen, wird das Formular automatisch über AJAX an die angegebene Aktion gesendet.

Danach brauchen Sie nur noch einen 'ajax: success' Event-Handler, damit Sie mit den Daten umgehen können.

%Vor%     
Christiaan Van den Poel 08.12.2010 20:59
quelle
2

Sie können dies versuchen:
<%= text_field_tag :address %>
<%= submit_tag "Search", :id => "search_button" %>

%Vor%     
Nimesh Nikum 03.12.2010 09:41
quelle
-1

Das ist keine direkte Antwort auf deine Frage, aber hast du schon in jrails nachgeschaut? Es ermöglicht Ihnen, die gleichen JavaScript-Helfer zu verwenden, die Sie vor dem Wechsel zu jquery verwendet haben. Es hat meinen Übergang von Prototyp zu Jquery viel erleichtert.

    
JackCA 27.11.2010 17:17
quelle