[RUBY] Bei der Registrierung eines neuen Benutzers wurde ein Fehler namens ActiveRecord :: NotNullViolation und der Umgang damit angezeigt.

Fehler bei der Registrierung neuer Benutzer

Beim Implementieren der Benutzerverwaltungsfunktion ist der folgende Fehler aufgetreten. 151aa02ffd6f364ebe9ba332e3ba4fde.png

Über weißen Fehler

ActiveRecord::NotNullViolation in Devise::RegistrationsController#create

Wenn Sie es auf einer Referenzseite nachschlagen

"Dieser Fehler ist ein Fehler, der durch das Speichern von Elementen verursacht wird, die aufgrund von DB-Einschränkungen nicht NULL sein sollten."

Dort war.

Was ich bestätigt habe

① Migrationsdatei

In der obigen Bildfehleranweisung

Mysql2::Error: Field 'prefecture_address' doesn't have a default value

Also habe ich die Migrationsdatei überprüft, um dies zu bestätigen. Bitte sehen Sie das Bild. 2d3be4158c0f509fdaaba70a1ae46896.png

Hier scheint es kein Problem zu geben, da es in der Migrationsdatei so eingestellt ist.

② Controller

Wenn es in der Migrationsdatei festgelegt ist, hat der Empfänger es möglicherweise nicht erhalten. Überprüfen Sie daher als Nächstes den Controller. controller.png Dies hatte auch den in der Migrationsdatei angegebenen Spaltennamen.

③ Anzeigen

Nachdem die Migration und der Controller abgeschlossen sind, habe ich beschlossen, die Ansicht zu überprüfen. (Ich bin hier etwas ungeduldig.) Das Bild der Ansicht ist wie folgt. 5bf9c8d818125e51fd7a384acda259f7.png

In der Migrationsdatei und im Controller war es prefecture_address, in der View-Datei war es prefecuture_address.

Code korrigieren

Als ich die Ansicht geändert und eine neue Registrierung vorgenommen hatte, war die Registrierung erfolgreich.

Schließlich

Wenn ich einen Fehler erhalte, bin ich im Grunde ungeduldig mit NoRoute-Übereinstimmungen (ich glaube, ich habe NoRoute-Übereinstimmungen überwunden). Als ich also einen Fehler bekam, den ich noch nie gesehen habe, dachte ich: "Oh ... es ist vorbei ...". In diesem Fall wusste ich nicht, auf welche Datei sich der Quellcode bezieht, also war ich nicht gehetzt.

Ich hatte das Glück, den Fehler zu untersuchen und auf die Website zu gelangen. Ich werde diese Gelegenheit nutzen, um Fehlertoleranz hinzuzufügen.

Verweise

【teratail】 Fehler beim Anmelden / Erstellen eines neuen Geräts durch Einführung der Gerätefunktion https://teratail.com/questions/235508

Recommended Posts

Bei der Registrierung eines neuen Benutzers wurde ein Fehler namens ActiveRecord :: NotNullViolation und der Umgang damit angezeigt.
Anzeigen von Fehlermeldungen und Erfolgsmeldungen bei der Registrierung als Benutzer
Ich habe mit Vagrant eine CentOS 8-Umgebung erstellt und versucht, den Ordner zu synchronisieren, aber ich habe einen Fehler erhalten, also habe ich ihn behoben.
Beim Verschlüsseln mit Node + Docker wurde eine Fehlermeldung angezeigt
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
Beim Versuch, sbt zu installieren, um eine Scala-Entwicklungsumgebung zu erstellen, ist ein Fehler aufgetreten
Bei der Verwendung von nextInt, nextLine und substring ist ein Fehler aufgetreten.
Beim Versuch, PowerMock mit JUnit zu verwenden, wurde ein IllegalAccessError angezeigt
Ich möchte bei der Registrierung in der Datenbank eine Fehlermeldung anzeigen
So erstellen Sie eine App mit einem Plug-In-Mechanismus [C # und Java]
Beim Versuch, GlassFish zu starten, wurde beim Veröffentlichen in GlassFish 4.0 auf meinem lokalen Host ein interner Fehler angezeigt. Was tun, wenn es wird?
[Laravel] Umgang mit Fehlern aufgrund von Speichermangel, wenn Komponisten [Docker] benötigen
Ich mache eine Android-App und sie steckt voller Fehler und wie man sie löst
Beim Hinzufügen einer Abhängigkeit wird eine Fehlermeldung angezeigt
So löschen Sie den dem Benutzer zugeordneten Tweet, wenn Sie ihn gleichzeitig löschen
Ich habe versucht, YouTube-Video von DB mit haml aufzurufen und es eingebettet anzuzeigen
[Ruby] 5 häufige Fehler, die beim Schaben mit Selen auftreten und wie man damit umgeht
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Ich kann auf Heroku bereitstellen, erhalte jedoch eine Fehlermeldung und kann sie nicht öffnen. [Ursache: MySQL]
[Terraform] Docker behebt das Zeitlimit beim Versuch, Azure-Ressourcen auf einem Windows-Computer zu erstellen
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
So geben Sie db beim Erstellen einer App mit Rails an
Ich habe eine InvalidUseOfMatchersException erhalten, wenn ich eine in JUnits Mock verwende
Umgang mit dem Fehler FEHLER: Während der Ausführung von gem ... (Gem :: FilePermissionError)
Umgang mit verschiedenen Versionen von rbenv und Ruby
Wie gehe ich mit dem Typ um, den ich 2 Jahre lang über das Schreiben eines Java-Programms nachgedacht habe?
Memorandum: Als ich TensorFlow mit Tribuo ausprobierte, funktionierte es nicht, also machte ich mich auf den Weg, um die Hauptfamilie zu finden, und verlor.
[Rails / RSpec] Der Umgang mit Elementen weist einen Größenfehler von Null auf
Beim Testen der Formularauthentifizierung mit Spring Security tritt ein 404-Fehler auf
Ich erhalte einen Ruby-Versionsfehler, wenn ich versuche, Rails zu starten.
So lesen Sie eine Datei und behandeln sie als Standardeingabe
[Einführung in JSP + Servlet] Ich habe eine Weile damit gespielt ♬
So legen Sie eine Standardabrufgröße fest, wenn jOOQ beim Abrufen einer großen Ergebnismenge einen OOM-Fehler erhält
Ich möchte eine Datei mit Ruby im Internet herunterladen und lokal speichern (mit Vorsicht).
Als ich versuchte, mit Docker eine Umgebung für PHP7.4 + Apache + MySQL zu erstellen, blieb ich stecken [Windows & Mac]