2009-08-01 4 views
0
내가 전에 실제로 사용자 레코드를 생성 할 수있는 로그인 필드에 내장 된 검증을 실행해야

을 만들려면 Authlogic에서이 작업을 수행하는 방법은 무엇입니까? 그 이유는 사용자가 새 로그인을 입력 할 때 AJAX가 호출되어 고유하고 유효한 등의 로그인을 확인하고 보게됩니다. 완료되면 사용자는 로그인을 요구하는 이메일을 입력 할 수 있습니다. 이는 2 단계입니다 방법.Authlogic 실행 검증 행동

답변

1

사용자 모델은 ActiveRecord 유효성 검사를 사용하므로 Authlogic과 관련이 없습니다. 모델에 대한 유효성 검사를 실행하려면 user.valid?이라고 할 수 있습니다. 전체 모델이 유효한지 여부에 따라 true 또는 false을 반환합니다. 그러나 그것은 또한 user.errors 오브젝트를 채우므로 주어진 속성이 유효한지 확인할 수 있습니다.

다음은 RJS를 사용하여 AJAX를 수행하는 일부 코드입니다. 그러나 당신은 무엇이든 사용할 수 있고 원하는대로 구성 할 수 있습니다.

user = User.new(params[:user]) 
user.valid? # we aren't interested in the output of this. 
error = user.errors.on(:login) 
if error 
    page.insert_html :before, "user_login", content_tag(:span, error, :class => "error_message") 
end 

나는 두번째 에피소드에서이 주제를 다룰 경우 당신은 내 Mastering Rails Forms 스크린 캐스트 시리즈에 관심이있을 수 있습니다.

+0

감사합니다. Ryan, 필자는 Authlogic이 ActiveRecord 유효성 검사를 활용하고 validate_attributes 플러그인을 사용하여 종료되었음을 알게되었습니다. 귀하의 제안은 공유 할 수있는 훌륭한 대안입니다. – Bob