1
에서 상호 배타적 필드 '의 존재를 적용하지만, 디버거는 트리거를 수행하고, 값은 내 테스트 케이스에 대한 기대됩니다이 코드는 나를 위해 작동하지 않습니다 레일
validates :a, :presence => false, :if => Proc.new { |f| debugger; f.b.present? }
validates :b, :presence => false, :if => Proc.new { |f| debugger; f.a.present? }
목표 : a
및 b
동시에 정의해서는 안됩니다.
구문을 이해하면 b
이있는 경우 a
의 존재 여부는 false
이어야합니다. b
에 대해서도 비슷합니다.
오해? 나는 데이터가 save!
을 통해 기록된다고 믿는다. 그러나 나는 이미 유효성 검사가 호출되고 있음을 확인했다. 나는 obj.save!
직후에 객체를 보았고 obj.errors
에는 빈 messages
해시가 있습니다.