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:
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?
Vielleicht möchten Sie versuchen, die Dinge etwas unaufdringlicher anzugehen. Ich würde empfehlen, den Aufruf link_to
durch etwas wie:
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):
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:
Und wieder, in data-
, ersetzen Sie oben etwas wie folgt:
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% Sie können dies versuchen:
<%= text_field_tag :address %>
<%= submit_tag "Search", :id => "search_button" %>
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.
Tags und Links jquery ruby-on-rails search link-to in-place