ActiveRecord::NotNullViolation in Devise 오류
【개요】
1. 결론
2.ActiveRecord::NotNullViolationt란 무엇인가
3. 왜 ActiveRecord::NotNullViolation in Devise가 되는지
4. 어떻게 해결할까
5. 보충
1. 결론
db/migrate/""""devise_create""""".rb
기재되어 있는 "t.string password(또는 password_confirmation)"의 기재를 삭제한다!
2.ActiveRecord::NotNullViolationt란 무엇인가
이 의미는, 「DB의 규칙상, 공란(NULL)으로 해서는 안 되는 항목이 데이터로 보존되고 걸렸어요!그런 일을 해서는 안 됩니다!
3. 왜 ActiveRecord::NotNullViolation in Devise가 되는지
2.와 합치면, 「디바이스로 DB의 규칙상, 공란(NULL)으로 해서는 안되는 항목이 데이터로 보존되어 걸었습니다! ! "라고 가고 있습니다.
왜 이런 일이 되는가 하면, gem'devise'가 일부러 password를 만들어 주었는데,
씌워 만들려고 하고 있으므로 어느 password가 좋은지 모르게 NULL이 되었다고 생각됩니다!
gem'devise'라는 것은 password와 그에 대한 password_confirmation을 만들어주는 gem입니다!
그래서
db/migrate/""""_devise_create_""""".rb
t.string :password null:false"(password_confirmation)
를 프로그래밍하여 열을 만들 필요가 없습니다!
4. 어떻게 해결할까
db/migrate/""""_devise_create_""""".rb
t.string password, null:false"
(またはpassword_confirmation)
라고 기재되어 있다고 생각하므로 삭제합시다!
5. 보충
그건 그렇고, gem 'devise'에는 password에 대한 또 다른 추가 기능이 있습니다!
그것은 밸리데이션입니다!
6자 이상으로 하지 않으면 입력을 할 수 없도록 제한이 이미 기능으로 갖추어져 있으므로,
model/user
validates :password, length { minimum: 5 }
작성할 필요가 없습니다!
Reference
이 문제에 관하여(ActiveRecord::NotNullViolation in Devise 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taka_no_okapi/items/4c42945a0c91d71db96e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)