'term'및 'section'속성이있는 레일 모델이 있습니다. 나는 이러한 속성에 대한 고유성 제약 조건을 원하는, 그래서 나는이 시도 : 모두 '용어'와 '범위'전무되지 않은 경우레일 값에 대한 고유성 유효성 검사
validates_uniqueness_of :term, scope: :section
이 만 작동합니다,하지만 난 여전히있을 때 적용 할 제약 조건을 원하는 nil 값. ActiveRecord :: Validations docs을 보면, 'allow_nil'을 false로 설정하면 값이 nil 일 때 유효성 검사를 건너 뛰지 않습니다. 그러나이 옵션의 기본값은 이미 거짓입니다.
어쨌든 allow_nil을 false와 true로 설정해 보았지만 아무런 변화가 없었습니다. 아무도 왜 nil 값이있을 때 작동 확인을 얻을 수 없다는 것을 알고 있습니까?
': scope'을': section'으로 설정하는 목적은 무엇입니까? – Alireza
@Ali'term'은'section'과 같은 값을 가진 모든 레코드에서 유일해야합니다. –
@ user2745175 레일을 업데이트하거나 사용하는 버전을 지정하십시오. 레일즈 업데이트가 도움이되지 않으면 DB 버전이 유용 할 수도 있습니다. 방금 레일 4.1.6 및 PG 9.1을 사용하여 테스트 한 결과 예상대로 작동합니다. –