1. Conclusion </ b>
2. Qu'est-ce que ActiveRecord :: NotNullViolationt </ b>
3. Pourquoi ActiveRecord :: NotNullViolation dans Devise </ b>
4. Comment le résoudre </ b>
5. Supplément </ b>
dans db / migrate / "" "" devise_create "" "" ".rb Supprimez la description de "t.string password (ou password_confirmation)" </ b>!
Cela signifie que "Les éléments qui ne doivent pas être laissés vides (NULL) en raison des règles de base de données sont sur le point d'être enregistrés en tant que données! Vous ne pouvez pas faire cela!" </ B> C'est souligné!
Lorsqu'il est multiplié par 2, il dit: "Les éléments qui ne doivent pas être laissés vides (NULL) sur l'appareil sont sur le point d'être sauvegardés en tant que données! C'est quand ils sont sauvegardés et enregistrés sur le contrôleur!" ..
La raison en est que gem'devise 'a créé un mot de passe pour moi. J'essaye de le refaire, donc je ne sais pas quel mot de passe est le meilleur et il semble qu'il soit devenu NULL!
gem'devise 'est un joyau qui crée un mot de passe et une confirmation de mot de passe!
Alors
db/migrate/""""_devise_create_""""".rb
t.string :password null:false"(password_confirmation)
Vous n'avez pas besoin de programmer pour créer des colonnes!
db/migrate/""""_devise_create_""""".rb
t.string password, null:false"
(Ou mot de passe_confirmation)
Je pense que c'est écrit, alors supprimons-le!
Au fait, gem'devise 'a une autre fonctionnalité ajoutée au mot de passe!
C'est la validation </ b>!
Puisqu'il y a déjà une restriction en tant que fonction de sorte que vous ne pouvez pas entrer à moins que ce soit 6 caractères ou plus
model/user
validates :password, length { minimum: 5 }
Pas besoin de lister!
Recommended Posts