Frage

Das Verhalten Ich schlage vor:

Ein Benutzer lädt meine „Suche“ Seite, www.site.com/search, Typen ihre Abfrage in eine Form auf, klickt einreichen, und endet dann statt www bei www.site.com/search/the+query up .site.com / search? q = die Abfrage +. Ich habe durch viele der Dokumentation bereits Pylons gegangen und nur die Routen Dokumentation zu Ende gelesen und frage mich, ob dies kann / an der Routes Schicht passieren sollte. Ich habe bereits meine Anwendung einrichten, um eine Suche durchführen, wenn www.site.com/search/the+query gegeben, kann aber nicht herausfinden, wie ein Formular zu diesem Ziel zu senden.

oder ist dies etwas, das in einem Regler mit einem redirect_to ()?

geschehen sollte

oder woanders?

Followup:

Dies ist weniger ein tatsächlicher „in Stein gemeißelt“ Wunsch jetzt und mehr ein Kuriosum für zukünftige Funktionen Brainstorming. Ich bin die Gestaltung eine Anwendung, die ein Wikipedia-Dump verwendet und haben festgestellt, dass, wenn ein Benutzer eine Suche auf Wikipedia führt und die Suche nicht zu vieldeutig ist es direkt auf einen Artikel Link leitet: en.wikipedia.org/wiki/Apple. Es ist tatsächlich einen in-zwischen HTTP 302-Umleitung Schritt durchgeführt wird, und ich bin einfach nur neugierig, ob es eine elegantere / nette Weise, dies in Pylons zu tun.

War es hilfreich?

Lösung

Sie können senden, was Inhalte, die Sie für jede URL wollen, aber wenn Sie eine bestimmte URL in der Adressleiste des Browsers angezeigt werden soll, müssen Sie eine Umleitung verwenden. Dies ist unabhängig davon, ob Sie Pylone, Django oder Rails auf der Server-Seite.

Bei der Handhabung für /search (ob POST oder GET), würde man normalerweise die Abfrage im Backend läuft, und wenn es nur ein Sucher (oder ein überwiegend relevantes Ergebnis) war würden Sie zu diesem Ergebnis umleiten, sonst eine Seite Links zu den Top-N Ergebnisse zeigt. Das ist nur normale Praxis, AFAIK.

Andere Tipps

HTML-Formulare entworfen sind mit einem Query-String (?q=) zu einer bestimmten URL zu gehen oder einen gleichwertigen Körper in einem POST - entweder Sie schreiben klug und subtil Javascript das Formular Vorlage abzufangen und sie in Ihrer bevorzugten seltsamen Art und Weise neu zu schreiben, oder verwenden redirect_to (und diese nehmen etwas tun).

Aber warum brauchen Sie so seltsames Verhalten und nicht nur die Standard-Anschluss ?! Bitte erläutern Sie Ihren Anwendungsfall in Bezug auf Anwendungsebene Bedürfnisse ...!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top