Wie übermittle ich eine URL auf dem Formular_für Senden? Ich versuche, ein Formular mit jeder Taste zu verwenden, die auf jede Controller-Aktion zeigt, eine ist Suche und eine andere wird erstellt. Ist es möglich, 2 Schaltflächen mit verschiedenen Aktionen auf demselben Formular zu senden?
%Vor%Es gibt keine einfache Methode von Rails, um ein Formular an verschiedene URLs zu senden, abhängig von der gedrückten Schaltfläche. Sie können JavaScript für jede Schaltfläche verwenden, um sie an verschiedene URLs zu senden. Die gängigste Methode zur Handhabung dieser Situation besteht jedoch darin, dass das Formular an eine URL gesendet wird und erkennt, welche Schaltfläche in der Controller-Aktion gedrückt wurde.
Für den zweiten Ansatz mit einem Submit-Button wie folgt:
%Vor%Ihre Aktion würde etwa so aussehen:
%Vor%Siehe diese ähnliche Frage , um mehr über beide Ansätze zu erfahren.
Siehe auch Railscast-Folge 38 zu Multibutton-Formularen.
Diese Frage ist sehr ähnlich zu dieser , obwohl es ein bisschen anders ist
Ich wollte nur betonen, dass einige Antworten auf die oben genannte Frage auch vorgeschlagen haben, den Routen Einschränkungen hinzuzufügen, damit Sie die Abfragen tatsächlich an verschiedene Controller-Aktionen weiterleiten können!
Dank an den Autor vss123
%Vor%Wir haben die Verwendung von erweiterten Einschränkungen in Schienen gelöst.
Die Idee ist, den gleichen Pfad (und daher die gleiche benannte Route & amp; Aktion), aber mit Einschränkungen, die zu verschiedenen Aktionen führen.
CommitParamRouting ist eine einfache Klasse, zu der eine Methode passt? welche gibt true zurück, wenn der Parameter commit mit der angegebenen Instanz attr übereinstimmt. Wert.
Dies ist als ein Juwel commit_param_matching verfügbar.
Tags und Links ruby ruby-on-rails-3 ruby-on-rails form-for