Ich habe eine Seite, wo ein deaktiviertes Benutzerkonto aktiviert werden kann - aber bevor sie aktiviert werden können, muss ihnen ein neues Passwort zugewiesen werden. Zur Zeit habe ich zwei Schaltflächen diese Aktionen auszuführen:Wie hängt man einen Aktionsaufruf an eine Übermittlungsschaltfläche in Rails an?
Am Ende der ‚Passwort hinzufügen‘ Form wird diese Taste:
<%= f.submit %>
Ein wenig weiter auf der Seite gibt es diese Taste ist, die die Sets Status des Benutzers auf ‚aktiv‘:
<%= standard_button 'Activate user', update_status_user_path(@user),
:method => :patch %>
Wenn möglich, würde ich die Funktionalität der zweiten Schaltfläche auf die Schaltfläche verfassen hinzufügen.
Ich verstehe die Magie hinter Formen und ihren Knöpfen nicht ganz, also frage ich mich, ob das möglich ist und wenn ja, wie könnte ich das erreichen?
Das Formular wird derzeit an eine Kennwortänderungsmethode gesendet, die auch von vielen anderen Seiten verwendet wird. Wenn möglich, würde ich lieber vermeiden, Änderungen an dieser bestimmten Methode vorzunehmen. Es ist nicht möglich, dass ein Button zwei verschiedene Dinge erledigt - ein Formular abschicken und etwas Action nennen? – Teresa
Oder vielleicht verstehe ich Ihre Lösung nicht sehr gut ... – Teresa
Ein Formular kann nur auf eine Aktion posten, so dass die Aktion den Benutzerstatus aktualisieren muss. Sie könnten Javascript verwenden, um den Benutzerstatus zu aktualisieren, aber das wäre nicht ratsam. Eine andere Option wäre, ein verstecktes Feld oder ein Datenattribut in das Formular aufzunehmen. Die Aktion könnte dann nach dem versteckten Feld suchen und den Benutzerstatus nur aktualisieren, wenn das verborgene Feld vorhanden ist. Oder die Formularaktion könnte prüfen, woher die Anfrage kommt und den Benutzerstatus nur aktualisieren, wenn die Anfrage von einer bestimmten Seite stammt. – margo