2013-08-30 2 views
0

mongoid에 문제가 있습니다. flickr_id이라는 일부 필드에서 유효성 검사를 받았습니다. 문제는 Mongo가 트랜잭션을 지원하지 않는다는 것과 때로는 어쨌든 validates :flickr_id, :uniqueness => true이라는 사실에도 불구하고 데이터베이스에 중복이 있다는 것입니다. Rails 응용 프로그램에서 어떻게 제거 할 수 있습니까? 고유하지 않은 객체로 언제든지 작업하기를 원하기 때문에 유효하지 않다는 오류가 발생합니다. 어떻게 그런 상황에서 검증을 무시할 수 있습니까?mongoid로 문서를 저장/삭제하는 동안 유효성 검사를 무시합니다

답변

0

나는 validates_uniqueness_of을 예상대로 사용하고 있습니다. 당신이 원하는 것은 DB를 청소하는 것이라고 가정하면, 콘솔을 통해 그 라인을 주석 처리하고 중복 된 문서를 제거 할 수 있습니다.

그렇지 않으면, 당신은 당신의 검증에 on을 추가 할 수 있습니다, 그래서 파괴 할 때 유효성 검사 만 생성/업데이트 할 때 실행하는 것이 아니라 :

을 : 지정 만 실행에 지원 만들고 : 최신 정보.

자세한 정보 here.

+0

": on 지정한 경우에만 실행, 지원 : 만들기 및 업데이트 :" - 파괴를지지하지 않는다는 뜻인가요? – ciembor

0

object.destroy 대신 object.delete을 시도하십시오.

관련 문제