1. Schlussfolgerung </ b>
2. Was ist ActiveRecord :: NotNullViolationt </ b>
3. Warum ActiveRecord :: NotNullViolation in Devise </ b>
4. Wie man es löst </ b>
5. Ergänzung </ b>
in db / migrate / "" "devise_create" "" ".rb Löschen Sie die Beschreibung von "t.string password (oder password_confirmation)" </ b>!
Dies bedeutet, dass "Elemente, die aufgrund von DB-Regeln nicht leer bleiben sollten (NULL), als Daten gespeichert werden sollen! Das können Sie nicht!" Es wird darauf hingewiesen!
Wenn mit 2 multipliziert, heißt es: "Elemente, die auf dem Gerät nicht leer bleiben sollten (NULL), werden als Daten gespeichert! Sie werden gespeichert und beim Controller registriert!" ..
Der Grund dafür ist, dass gem'devise 'ein Passwort für mich erstellt hat. Ich versuche es zu überarbeiten, daher weiß ich nicht, welches Passwort besser ist und es scheint, dass es NULL geworden ist!
gem'devise 'ist ein Juwel, das ein Passwort und eine password_confirmation dafür erstellt!
Damit
db/migrate/""""_devise_create_""""".rb
t.string :password null:false"(password_confirmation)
Sie müssen nicht programmieren, um Spalten zu erstellen!
db/migrate/""""_devise_create_""""".rb
t.string password, null:false"
(Oder Passwort_confirmation)
Ich denke, es ist geschrieben, also lasst es uns löschen!
Übrigens hat gem'devise 'eine weitere Funktion zum Passwort hinzugefügt!
Es ist Validierung </ b>!
Da gibt es bereits eine Einschränkung als Funktion, so dass Sie nur eingeben können, wenn es 6 Zeichen oder mehr ist
model/user
validates :password, length { minimum: 5 }
Keine Notwendigkeit zu listen!
Recommended Posts