Beim Implementieren der Benutzerverwaltungsfunktion ist der folgende Fehler aufgetreten.
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.
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.
Hier scheint es kein Problem zu geben, da es in der Migrationsdatei so eingestellt ist.
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. Dies hatte auch den in der Migrationsdatei angegebenen Spaltennamen.
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.
Als ich die Ansicht geändert und eine neue Registrierung vorgenommen hatte, war die Registrierung erfolgreich.
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.
【teratail】 Fehler beim Anmelden / Erstellen eines neuen Geräts durch Einführung der Gerätefunktion https://teratail.com/questions/235508
Recommended Posts