2010-01-12 1 views
2

실패한 세션 생성 및 (formtastic와) 오류 메시지에 대한 원인 등)을 사용하여 앱 로직 (다른 페이지의 경로를 확인하거나 패스 재 입력 등)에 사용할 수 있습니까?authlogic 내가 authlogic 약 2 개 질문이

2 - 통합 formtastic 및 authlogic에 대한 질문. 로그인 및 패스가 제공되지 않을 때 세션 생성시 오류 메시지를 표시하는 방법 빈 양식을 제출할 때마다 - 오류 메시지가 표시되지 않지만 form.error_messages는 로그인 및 패스를 입력해야한다는 것을 보여줍니다. 그러나 필드 중 하나 (로그인 또는 패스)가 제공된 경우 - 모두 올바르게 작동합니다.

답변

2

1 :

def create 
    @user_session = UserSession.new(params[:user_session]) 
    if @user_session.save 
     redirect_to your_url 
    else 
     render :action => 'new' 
    end 
    end 

@user_session VAR이 new 템플릿을 사용할 수 있습니다 :

당신은 로그인 URL에 대한 제안 패턴을 따르는 경우. @user_session.error_messages으로 로그인 오류에 액세스 할 수 있습니다. 나는 HTML이 아닌 배열로 반환한다고 믿는다.

UPDATE

the docs에 따르면, Authlogic 오류는 컨트롤러 로직을지도하기 위해, 당신은

if @user_session.save 
    # Normal flow 
else 
    if @user_session.errors.on(:password) 
    # do something 
    else 
    # do something else 
    end 
end 
+0

그래, 내가 그것을 알고 뭔가를 할 것입니다 정확히 액티브 레코드와 같은 행동 때문에. 하지만 (예를 들어) 확인/account_lock_status/validation_of_login-pass .... 등의 의존성을 가진 다른 페이지로 사용자를 리다이렉트하고 싶습니다.하지만 당신의 방법으로는 - 오류 메시지 만 처리 할 수 ​​있습니다. –

+0

오류가 오류입니다, 당신은 컨트롤러 로직을 변경 하시겠습니까? – tfwright

+0

절대적으로 맞음 :) –