내 모델 Goal
에는 goal_type
, 및 is_complete
의 세 가지 속성이 있습니다.
Goal
belongs_to :user
.특정 조건의 validates_uniqueness_of를 사용하는 데 어려움이 있습니다.
goal_type
할 수있는 전용 "X", "Y"또는 "Z"가 될
goal_length
만
is_complete
이 참 또는 거짓 일 수있다 "짧은", "중간"또는 "긴"할 수있다
나는 모두 동일한 사용자에 속하고 is_complete 거짓
0으로 설정 한 목표를 볼 때 오직 지정된goal_length
및
goal_type
와
Goal
(
validates_uniqueness_of
) 하나있을 싶어
일반 영어 예 : 사용자가 아직 완료하지 않은 short
X
목표를 가지고
경우, 새로운 short
X
목표를 만들 수 없습니다. 사용자가 완료 한 short
X
목표를 가지고있는 경우 새로운 short
X
목표를 만들 수 있습니다.
이 유효성 검사는 작동하지만 기존 목표에 is_complete
속성이 true로 설정되어 있는지 확인하지 않습니다. is_complete
은 기존의 모델에 해당하는 경우, 동일한 속성을 가진 새로운 목표를 만들 괜찮 :
validates_uniqueness_of :goal_type, scope: [:goal_length, :user_id]
나는 유효성 검사가 무시 조건에 대한 검사를 추가하는 방법
경우 일치하는 이전 목표 is_complete가 true로 설정되어 있습니까?