Ich habe eine Frage zu Formularen. Ich habe ein ziemlich standardisiertes Formular, das einen Beitrag (in meiner Anwendung eReport genannt) mit einem Titel und einem Text speichert. Die Tabelle hat auch ein Feld "veröffentlicht", das boolesch ist. Der gespeicherte eReport wird auf der öffentlichen Website nur angezeigt, wenn dieses Feld auf true gesetzt ist, wobei false die Standardeinstellung ist.
Anstelle des standardmäßigen Kontrollkästchens möchte ich am Ende des Formulars zwei Schaltflächen anzeigen: eine Schaltfläche "Jetzt veröffentlichen" und eine Schaltfläche "Als Entwurf speichern". Wenn der Benutzer auf die erste Schaltfläche drückt, wird das Feld "Veröffentlicht" auf "true" gesetzt. Drückt er letztere, wird es auf false gesetzt. In PHP habe ich 2 Eingabefelder mit unterschiedlichen Werten angezeigt und dann die Eingabe mit einer if/else-Anweisung verarbeitet, um die richtige SQL-Abfrage zu erstellen. In Rails nehme ich an, dass ich diese Logik im Controller unter der entsprechenden Aktion platzieren würde, aber ich bin mir nicht sicher, wie man den Namen oder die id-Werte von Schaltflächen manipuliert.
Für das Protokoll, ich bin mit Formtastic, aber wenn jemand mir zeigen könnte, wie man dies mit den Standard-Rails-Formular-Tags zu tun, das ist auch OK. Hier ist der Code für mein Formular, wie es im Moment steht:
<% semantic_form_for @ereport do |form| %>
<% form.inputs do %>
<%= form.input :title %>
<%= form.input :body %>
<% end %>
<% form.buttons do %>
<%= form.commit_button :label => "Publish Now" %>
<%= form.commit_button :label => "Save as Draft" %>
<% end %>
<% end %>
Vielen Dank im Voraus für die Hilfe!