레일스를 처음 사용하고 인증 부분에 devise를 사용하여 앱을 만들려고합니다. 내가 처음으로 느낀 것은 내 사용자기구가 ID를하지했기 때문에 내 테스트가 실패 있다고, 그래서이 실행 내 시험을 도와Devise : ID없이 레코드를 만들려고 시도합니다
self.primary_key = :id
내 User
모델에이 점을 추가하는 듯했으나 지금은에 붙어있어 또 다른 문제. 매번 내가 사용자를 추가하려고하면 유증 컨트롤러는 다음과 같은 메시지와 함께 실패하는 이유는 사용자 ID가 자동으로
ActiveRecord::StatementInvalid in Devise::RegistrationsController#create
SQLite3::ConstraintException: users.id may not be NULL: INSERT INTO "users" ("active", "created_at", "current_sign_in_at", "current_sign_in_ip", "default_business_id", "email", "encrypted_password", "first_name", "last_name", "last_sign_in_at", "last_sign_in_ip", "remember_created_at", "reset_password_sent_at", "reset_password_token", "sign_in_count", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
을 생성하고 있지? 나는 레일스 3.2와 함께 Devise 2를 달리고있다.
인증 관련 코드를 보여주십시오. –
음, 일반적으로 기본 키를 설정하는 것은 당신이해야 할 일이 아닙니다. 내가 당신이라면 나는 비품을 점검 할 것입니다. 문제가있을 수 있습니다. – niels
@Niels,이 예외는 프론트 엔드에서 실제 사용자를 만들 때 발생합니다. 테스트는 정상적으로 실행됩니다. 어쨌든, 내가 설정하지 말아야한다고 말하면 당신이 옳았 기 때문에 조명기를 검사 할 것입니다. 기본 키 – Sergio