2010-08-06 10 views
0

필자는 facebook을 authlogic으로 내 레일 앱에 성공적으로 통합했습니다.페이스 북을 통한 Authlogic 연결

문제는 페이스 북 사용자의 프로필 세부 정보를 업데이트하려고하면 암호 필드를 비워 둘 수없는 유효성 검사 오류입니다.

위의 문제를 해결하기 위해 사용자 모델에 다음을 추가했습니다.

before_validation :update_authlogic_config 

    def update_authlogic_config 
    validate_password_field = !facebook_user? 
    validate_email_field = !facebook_user? 
    end 

    def facebook_user? 
    !facebook_uid.blank? 
    end 

이 코드를 추가하면 유효성 검사 오류가 없지만 유효성 검사가 실패합니다.

을 특정 오류없이 : 컨트롤러에서 나는

@user.update_attributes!(params[:user]) 

을 할 경우

user.valid? retruns false 
user.errors.size return 0 

는 인상입니다 예외가

검증이 실패합니다.

답변

0

해킹을 발견했습니다.

일부 값으로 facebook 사용자의 비밀번호 입력란이 채워집니다. 어쨌든이 값은 사용되지 않으므로 작동합니다.

def before_connect(fb_user) 
    self.crypted_password = "test" 
    self.password_salt = "test_salt" 
end 
관련 문제