2010-08-22 4 views
0

일부 유효성이 검사 된 필드가 누락 된 경우에도 세션/사용자 개체를 낙관적으로 저장하는이 보석 authlogix-rpx와 비슷한 기능을 만들려고합니다.낙천적으로 authlogic에 세션 저장

http://github.com/tardate/authlogic_rpx/tree/master/lib/authlogic_rpx (라인 167)은 검증 기준을 충족하고 나중에 registration_complete를 호출하지 않는 레코드를 생성하는 것이 가능이 보석으로

를? 모든 검증이 통과하지 않으면 false를 리턴합니다.

내 보석 (oauth2를 사용하여 authlogic에 추가)에서 save (false), save_with_vaidation_false를 시도했지만 nothign이 실제로 작동하고 유효성 검사가 실패하고 레코드가 어떻게 발생하는지 잘 모르겠습니다. 구해줘.

아이디어가 있으십니까?

감사

+0

로 제한하여 검증에 :on 매개 변수를 제공 할 수있다. 유효성 검사없이 저장하고 리소스를 저장 한 후 리소스가 유효한지 확인하려고합니까? – aNoble

+0

예. 사용자가 oauth를 사용하여 인증하는 경우 처음 로그인 할 때 자동으로 사용자 계정을 만들려고합니다 (oauth는 어떤 이메일/사용자 이름 필드도 제공하지 않으므로 유효하지 않습니다). 그리고 teh 사용자에게 요청한 직후 프로필 페이지로 리디렉션합니다. 프로파일을 완성하십시오. 내 응용 프로그램은 전자 메일/사용자 이름 등이 필요하므로 유효성 검사가 필요하지만 oauth 로그인 중에 건너 뛰기 만하면됩니다. – badnaam

답변

0

당신은 유효성 검사 오류 메시지에 액세스 할 수 user.errors.full_messages을 사용하여 다음 사용자를 저장 user.save(false)를 실행 할 수 있어야한다.

또는 당신은 당신이 찾고있는 내가 정확히 이해 아주 확실하지 않다 :create, :update 또는 둘 다 (:save)

validates_presence_of :email, :on=>:update