사용자가 다른 사용자를 초대 할 수있는 앱 이 있고 여러 속성이 있는 has_many
모델 Enrollment
모델을 추가했습니다 .
devise_invitable 모듈은 유효성 검사를 무시하는 것처럼 보이므로 내 경우에는 내 중첩 된 속성이 유효성 검사에 실패하면 포착되지 않으며 사용자는 여전히 초대를받습니다.
작동 할 수있는 validate_on_invite
(기본값은 false) 설정을 찾았습니다 . 그러나 그런 다음 User
초대 프로세스 중에 트리거되지 않도록 다른 속성 (이름, 주소 등) 에 조건부 유효성 검사를 추가해야합니다 .
지금은 사용자 지정 컨트롤러 생성 메서드가 있으며 매개 변수의 존재 여부 등을 확인하는 로직을 추가 할 수 있습니다. 그러나 모델 유효성 검사에 의존하는 더 쉬운 방법이 있습니까?
최신 정보
validate_on_invite
true로 변경하려고 시도하고 중첩 된 속성과 유효성 검사가 작동했습니다. 내가 지금 가지고있는 문제는 User
모델에서 컨트롤러 작업 (즉, 생성 작업이있는 초대 컨트롤러)을 기반으로 조건부 유효성 검사를 수행 할 수 없다는 것입니다 (내가 말할 수있는 한).
초대 컨트롤러의 사용자 지정 코드로 돌아간 것 같습니다.
나는 결국 걸려 넘어졌다 if: :accepted_or_not_invited?
. User
이메일 주소 를 제외한 모든 유효성 검사 에 이것을 추가했습니다 . 자동으로 저장되는 중첩 된 등록 속성으로 사용자를 초대 할 수 있습니다. 아직 중첩 된 유효성 검사가 작동하지 않지만 등록 매개 변수를 유효성 검사하기 위해 초대 컨트롤러에 원숭이 패치를 추가하지 않았습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다