저는 웹 사이트에서 rails 2.3.5 및 Authlogic을 사용하고 있으며, 중복 된 이메일을 저장하려는 사용자의 hoptoad를 통해 데이터베이스에 오류가 발생했습니다. 문제는 모델에 validates_uniqueness_of :email
이 있다는 것입니다.validates_uniqueness_of의 문제점
여기 개발 테스트에서 예상되는 유효성 검사 오류가 발생하고 사용자는 저장되지 않지만 프로덕션 환경에서는 DB 계층에서이 오류가 계속 발생합니다.
대소 문자를 구분하는 이메일을 테스트했으며 올바르게 인증되었습니다.
나는
생산에서 발생 될 수있는 것을 ... 확인하고 클래스와 더 attr_accessor이나 다른 속성을 재정의가 없다, 나는 Authlogic가 잘못된 방법으로 그것을 할 것이라고 생각하지 않는거야? 레일 유효성 검사가 작동하지 않는 경우가 있습니까?
예, 이메일이 이미 존재하는 경우 hoptoad 오류가 발생하지 않아야 알고있다. 단순히 '이 이메일은 이미 사용 중입니다.'라는 메시지와 함께 양식을 검증하고 다시 방문해야합니다.이 동작은 거의 모든 경우에 발생하지만 레일스가 이미 존재하는 전자 메일의 유효성을 검사하는 경우가 거의 없으므로 사용자를 저장하려고 시도하고 UNIQUE 인덱스로 인해 데이터베이스에서 오류가 발생합니다. 나는 그것을 다시 만들려고 노력하고 있지만 동일한 데이터를 사용하더라도 오류 대신 올바른 동작을 얻습니다./ – Draiken