Diese Zeit ist eine Fortsetzung des vorherigen Artikels.
Bitte lesen Sie den vorherigen Artikel, wenn Sie möchten.
Erklärung von Ruby on Rails für Anfänger ① Erklärung von Ruby on Rails für Anfänger ② ~ Erstellen von Links ~ Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Bisher haben wir Controller und Modelle erstellt.
Sie haben Namenskonventionen. Lass uns lernen.
Ein Modell ist eine Konstruktionszeichnung zum Erstellen einer Datenbank.
Da es nur eine Konstruktionszeichnung gibt, erstellen Sie den Modellklassennamen in "Einzelform".
Die Tabelle wird automatisch als "Plural" dargestellt, da sie mehrere Daten für dieses Modell enthält.
Im vorherigen Artikel habe ich ein Modell mit dem Namen "Benutzer" erstellt.
Dadurch wird eine Tabelle mit dem Namen "Benutzer" erstellt.
Benennungsregeln für Ansichten Der Ordner "Ansicht" enthält mehrere Dateien, daher handelt es sich um einen "Plural". Regeln für die Benennung von Controllern Controller haben mehrere Aktionen. Erstellen Sie sie daher im Plural. Registrieren von Daten in der Datenbank Im vorherigen Artikel haben wir die Rails-Konsole verwendet, um Daten in der Datenbank zu registrieren.
Dieses Mal registrieren wir die Daten in der Datenbank, indem wir den Benutzer den Browser bedienen lassen.
Überprüfen Sie vorher die Datenbank einmal.
Geben Sie den folgenden Befehl in das Terminal ein.
rails dbconsole
Sie können die Anzeige von Spaltennamen mit dem folgenden Code aktivieren.
sqlite> .headers on
In diesem Zustand können Sie den Inhalt überprüfen, indem Sie die folgende SQL-Anweisung schreiben.
sqlite> select * from users;
id|name|password|created_at|updated_at
1|poco|maru|2020-05-20 10:50:13.177731|2020-05-20 10:50:13.177731
Sie können sehen, dass die Benutzertabelle jetzt die Spalten name und pasword enthält.
Erstellen wir nun ein Eingabeformular und speichern die vom Benutzer gesendeten Daten in der Datenbank.
Schreiben Sie den folgenden Code in die Datei /users/new.html.erb.
new.html.erb
<%= form_tag("/users/create") do %>
<p>Nutzername</p>
<input name="name">
<p>password</p>
<input name="password">
<input type="submit" value="Senden">
<% end %>
form_tag
wird verwendet, um einen beliebigen Wert aus der Ansichtsdatei an den Controller zu senden oder zu löschen. Dies ist die sogenannte POST-Anfrage. Den Unterschied zwischen Get Request und Post Request finden Sie im Artikel hier.
Wenn ein Benutzer eine Schaltfläche mit "type =" submit "" sendet, wird eine Post-Anfrage ausgeführt, die "users / create" entspricht.
Dieses Mal ist das Routing wie folgt.
routes.rb
post "users/create" => "users#create"
Das heißt, die obigen Daten werden an die Erstellungsaktion des Benutzercontrollers gesendet. Schreiben Sie in der Aktion "Erstellen" den folgenden Code.
users_controller.rb
def create
user = User.new(name: params[:name], password: params[:password])
user.save
end
Dieser Code verwendet die Benutzerklasse des Benutzermodells, um Daten in der Benutzertabelle der Datenbank zu speichern.
Wenn in den von form_tag gesendeten Daten ein Tag mit dem Namensattribut angegeben ist, kann der Wert im Controller als "params [name attribute]" behandelt werden.
In diesem Fall wird der Wert in "" in "params [: name]" und der Wert in "" in params [: password] gespeichert.
Ein Modell wird unter Verwendung von "User.new (Name: Parameter [: Name], Passwort: Parameter [: Passwort])" für die gesendeten Daten erstellt und in der Datenbank gespeichert.
Vom Benutzer ist es wie folgt.
Lassen Sie uns in diesem Zustand "Senden" drücken. In der Erstellungsaktion des Benutzer-Controllers wird dann die Zeichenfolge, die dies ist, in params [: name] und der Zeichenfolgentest in params [: password] gespeichert.
Ich konnte die Daten wie folgt speichern.
3|this|test|2020-05-21 05:30:36.718523|2020-05-21 05:30:36.718523
Wenn Sie es jedoch so lassen, wie es ist, gibt es keine besondere Änderung, selbst wenn Sie auf Senden klicken. Es ist langweilig, also leiten wir zu einer anderen Datei um.
Wenn Sie auf Senden klicken, wird die Erstellungsaktion des Benutzercontrollers ausgeführt. Wenn Sie also den Umleitungscode in diese Erstellungsaktion schreiben, wird er in eine andere Datei umgeleitet.
Fügen wir den Code wie folgt zum Controller des Benutzers hinzu.
users_controller.rb
def create
user = User.new(name: params[:name], password: params[:password])
user.save
redirect_to("/users/index")
end
Wenn Sie es so schreiben, werden Sie zu der Datei weitergeleitet, die / users / index
entspricht, wenn Sie auf Senden klicken.
Vergessen Sie übrigens beim Schreiben einer Weiterleitung nicht, /
am Anfang des Pfades zu setzen.
Das ist alles für diesen Artikel.
Danke für deine harte Arbeit.
Bitte lesen Sie die folgenden Artikel, wenn Sie möchten.
Erklärung von Ruby on Rails für Anfänger ⑤ ~ Bearbeiten und Löschen der Datenbank ~
Erklärung von Ruby on Rails für Anfänger ⑥ ~ Erstellung der Validierung ~
Erklärung von Ruby on Rails für Anfänger ⑦ ~ Implementierung von Flash ~
Recommended Posts