In der dynamischen Welt der Webentwicklung sticht Ruby on Rails als leistungsstarkes und effizientes Framework zum Erstellen von Webanwendungen hervor. Einer der grundlegenden Aspekte vieler Webanwendungen ist die Möglichkeit, Benutzereingaben über Formulare zu sammeln. In diesem Blogbeitrag werde ich Sie durch den Prozess der Erstellung eines einfachen Formulars in Rails mit dem führenform_withHelfer. Als Rails-Lieferant hatte ich das Privileg, an zahlreichen Projekten zu arbeiten, bei denen Formen eine entscheidende Rolle spielen, und ich freue mich, meine Erkenntnisse mit Ihnen zu teilen.
Verständnisform_within Schienen
Bevor wir uns mit der Erstellung eines Formulars befassen, nehmen wir uns einen Moment Zeit, um zu verstehen, wasform_withIst.form_withist eine Hilfsmethode in Rails, die den Prozess der Erstellung von HTML-Formularen vereinfacht. Es bietet eine flexible und intuitive Möglichkeit, Formulare zu generieren, die sowohl semantisch korrekt als auch leicht zu pflegen sind. Egal, ob Sie ein einfaches Kontaktformular oder ein komplexes mehrstufiges Formular erstellen,form_withist für Sie gesorgt.
Einrichten einer neuen Rails-Anwendung
Falls noch nicht geschehen, müssen Sie eine neue Rails-Anwendung einrichten. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
Schienen neue simple_form_app cd simple_form_app
Dadurch wird eine neue Rails-Anwendung mit dem Namen erstelltsimple_form_appund navigieren Sie in das Anwendungsverzeichnis.
Generieren eines Controllers und einer Ansicht
Als Nächstes generieren wir einen Controller und eine Ansicht zur Verarbeitung unseres Formulars. Führen Sie den folgenden Befehl in Ihrem Terminal aus:
Schienen erzeugen Controller-Formulare neu
Dadurch wird ein generiertFormsControllermit einemneuAktion und eine entsprechende Ansichtsdatei unterapp/views/forms/new.html.erb.
Erstellen des Formulars mitform_with
Jetzt öffnen wir dieapp/views/forms/new.html.erbDatei und erstellen Sie unser Formular mitform_with. Hier ist ein Beispiel für ein einfaches Kontaktformular:
<%= form_with(url: "/submit_form", method: :post) do |form| %> <div> <%= form.label :name %> <%= form.text_field :name %> </div> <div> <%= form.label :email %> <%= form.email_field :email %> </div> <div> <%= form.label :message %> <%= form.text_area :message %> </div> <div> <%= form.submit "Submit" %> </div> <% end %>
In diesem Beispiel verwenden wirform_withum ein Formular zu erstellen, das seine Daten an die übermittelt/submit_formURL mit derPOSTVerfahren. Innerhalb des Formularblocks verwenden wir verschiedene Formularhilfsmethoden, um Eingabefelder für den Namen, die E-Mail-Adresse und die Nachricht des Benutzers sowie eine Schaltfläche zum Senden zu erstellen.


Bearbeitung der Formularübermittlung
Um die Formularübermittlung abzuwickeln, müssen wir unserem Formular eine Route und eine Aktion hinzufügenFormsController. Öffnen Sie dieconfig/routes.rbDatei und fügen Sie die folgende Zeile hinzu:
Posten Sie „/submit_form“ an: „forms#submit“
Dadurch wird das abgebildet/submit_formURL zumeinreichenAktion in derFormsController. Öffnen Sie nun dieapp/controllers/forms_controller.rbDatei und fügen Sie die folgende Aktion hinzu:
defsubmit # Hier können Sie die Formulardaten verarbeiten, zum Beispiel in der Datenbank speichern name = params[:name] email = params[:email] message = params[:message] # Im Moment drucken wir die Daten einfach auf der Konsole aus puts "Name: #{name}" puts "Email: #{email}" puts "Message: #{message}" restart_to root_path, Hinweis: 'Formular erfolgreich übermittelt!' Ende
In dieser Aktion rufen wir die Formulardaten von abParameterHash erstellen und auf der Konsole ausdrucken. In einer realen Anwendung würden Sie die Daten normalerweise in einer Datenbank speichern oder eine E-Mail senden. Nach der Verarbeitung der Formulardaten leiten wir den Benutzer mit einer Erfolgsmeldung zum Stammpfad weiter.
Das Formular gestalten
Damit unser Formular ansehnlicher aussieht, können wir einige CSS-Stile hinzufügen. Öffnen Sie dieapp/assets/stylesheets/application.cssDatei und fügen Sie die folgenden Stile hinzu:
form div { margin-bottom: 10px; } form label { display: block; Rand unten: 5px; } form input[type="text"], form input[type="email"], form textarea { width: 100%; Polsterung: 5px; Rand: 1px fest #ccc; Randradius: 3px; } form input[type="submit"] { Hintergrundfarbe: #007BFF; Farbe: weiß; Polsterung: 10px 20px; Grenze: keine; Randradius: 3px; Cursor: Zeiger; } form input[type="submit"]:hover { Hintergrundfarbe: #0056b3; }
Diese Stile verleihen unserem Formular ein sauberes und professionelles Aussehen.
Validierung zum Formular hinzufügen
Um sicherzustellen, dass der Benutzer gültige Daten eingibt, können wir unserem Formular eine Validierung hinzufügen. In Rails können wir ActiveRecord-Validierungen verwenden, um die Daten zu validieren, bevor wir sie in der Datenbank speichern. Da wir in diesem Beispiel jedoch kein Modell verwenden, können wir JavaScript verwenden, um eine grundlegende Validierung auf der Clientseite durchzuführen. Hier ist ein Beispiel dafür, wie Sie mithilfe von JavaScript eine Validierung zu unserem Formular hinzufügen:
document.addEventListener('DOMContentLoaded', function() { const form = document.querySelector('form'); form.addEventListener('submit', function(event) { const name = document.querySelector('input[name="name"]').value; const email = document.querySelector('input[name="email"]').value; const message = document.querySelector('textarea[name="message"]').value; if (name === '' || email === '' || message === '') { Alert('Bitte füllen Sie alle Felder aus');
Dieser JavaScript-Code verhindert, dass das Formular gesendet wird, wenn eines der erforderlichen Felder leer ist.
Abschluss
Erstellen eines einfachen Formulars in Rails mitform_withist ein unkomplizierter Prozess. Indem Sie die in diesem Blogbeitrag beschriebenen Schritte befolgen, können Sie ein funktionales Formular erstellen, das Benutzereingaben sammelt und Formularübermittlungen verarbeitet. Als Rails-Anbieter habe ich die Leistungsfähigkeit und Flexibilität von Rails beim Erstellen von Webanwendungen aus erster Hand gesehen und hoffe, dass dieser Leitfaden für Sie hilfreich war.
Wenn Sie daran interessiert sind, hochwertige Schienen für Ihre Projekte zu kaufen, bieten wir eine breite Palette von Optionen an, darunter dieGOST-Standard-KP140-Kranschiene,49E2 Stahlschiene, UndBS 100A-Schiene. Unsere Schienen sind so konzipiert, dass sie den höchsten Qualitäts- und Leistungsstandards entsprechen, und wir sind bestrebt, einen hervorragenden Kundenservice zu bieten. Wenn Sie Fragen haben oder Ihre Anforderungen besprechen möchten, zögern Sie nicht, uns für eine Beschaffungsberatung zu kontaktieren.
Referenzen
- Schienenführer: https://guides.rubyonrails.org/
- Mozilla Developer Network: https://developer.mozilla.org/
