2014-07-16 4 views
0

이 문제가 발생하여 다른 사람들이 너무 많은 시간을 들여 벽에 머리를 부딪히지 않도록 게시하고 싶습니다.레일 : 고유성 검사기가 범위를 벗어남


나는 User 모델을 가지고 있습니다. User 모델의 경우 emailuniqueness 유효성을 검사했으며 그 범위는 type입니다. 아래를 참조

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable 

    validates :email, 
    uniqueness: { 
     scope: :identifier 
    } 
end 

그러나, UniquenessValidatoremail 고유성 검증이 identifier 속성 범위가 있다는 사실을 존중하지 않습니다.

여기 무슨 일 이니? 무슨 일이 일어 났는지

답변

1

:

고안validatable 모듈은 emailuniqueness 검증을 무효화한다. 이 모듈을 제거하기 만하면 내 uniqueness 범위의 identifier 범위에 내 이메일의 유효성을 검사 할 수있었습니다.

class User < ActiveRecord::Base 

    # removed :validatable 

    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable 


    validates :email, 
    uniqueness: { 
     scope: :identifier 
    } 
end