Da wir von first_or_initialize erfahren haben, werden wir es ausgeben.
Was ist first_or_initialize? Wie verwende ich first_or_initialize?
Beschreiben Sie in der Reihenfolge von.
Wenn der Datensatz der Bedingung, nach der gesucht wird, vorhanden ist, wird eine Instanz dieses Datensatzes zurückgegeben, und wenn er nicht vorhanden ist, wird eine neue Instanz erstellt.
Es ist schwer zu verstehen, oder? Ich werde im Detail erklären.
Zum Beispiel Angenommen, es gibt eine Tabelle mit dem Namen student, und die Namen von 10 Personen sind dort in der Datenbank registriert.
Die first_or_initialize-Methode Wenn der Schüler nicht in der Datenbank vorhanden ist → Registrieren Sie den Schüler neu. auf der anderen Seite, Wenn ein Schüler bereits registriert ist → Informationen zu diesem Schüler abrufen.
Hast du nach und nach verstanden?
Das heißt, das Merkmal dieser Methode ist "Vermeiden Sie doppelte Daten".
Wie benutzt man es?
student = Student.where(name: "Sato").first_or_initialize
Definieren Sie das Objekt, für das Sie eine neue Instanz erstellen möchten, falls diese nicht vorhanden ist Nachdem where (Bedingung) .first_or_initialize Dann ist es abgeschlossen.
Im obigen Beispiel Wenn Herr Sato nicht in der Datenbank ist → Registrieren Sie den Sato neu. auf der anderen Seite, Mr. Sato Wenn Sie sich bereits registriert haben → Holen Sie sich die Informationen von Mr. Sato (definierte ID, Alter usw.).
Recommended Posts