2009-12-16 5 views
16

내 사이트 중 하나에서 사용자 유효성 검사를 위해 authlogic gem을 사용하고 있습니다. 모든 것이 잘 진행되고 있지만 사용자가 잘못된 이메일 주소를 입력 할 때 반환되는 오류 메시지를 변경할 수 있는지 궁금합니다.사용자 정의 authlogic 오류 메시지 사용

감사합니다.

답변

14

이메일 확인을위한 설정을 validates_format_of_email_field_options으로 대체 할 수 있습니다. 그러나 메시지 만 변경하려는 경우 merge_validates_format_of_email_field_options 옵션을 병합 할 수 있으므로 지정한 옵션 만 덮어 쓸 수 있습니다. 당신은 다음처럼 사용자 컨트롤러의 설정을 지정합니다

class User < ActiveRecord::Base 
    acts_as_authentic do |c| 
     c.merge_validates_format_of_email_field_options :message => 'My message' 
    end 
end 

또한 길이와 고유성 검증에 대한 설정을 변경할 수 있습니다. 다른 많은 설정들도 있습니다. documentation을 보시고, 각 모듈의 :: Config 섹션에서 설정 값과 기본값을 찾아서 무시할 수 있습니다.

또는 현지화를 사용하고 error_messages.email_invalid을 설정할 수도 있습니다 (기본 영어 문장으로 설정하기 전에 플러그인을 찾아야하며, 국제적인 응용 프로그램을 만드는 경우에도 유용합니다).

class UserSession < Authlogic::Session::Base 
    generalize_credentials_error_messages true 
end 

오류 메시지가 동일합니다 : 암호 또는 이메일 나쁜 여부, "이메일/암호 조합이 유효하지"

16

authlogic는이 목적을 위해 특별한 설정이 있습니다. 당신은 true 대신 문자열을 지정하는 메시지의 텍스트를 변경할 수 있습니다

generalize_credentials_error_messages "Try again" 
+0

추가 해줘서 고맙습니다. 많은 장소에서 로그온 할 때 자격 증명 오류를 처리하는 방법에 대해 언급하지 않습니다. – jpcamara

4

재정 Authlogic 오류 메시지를 en.yml 파일 그것은 나를 위해 작동
에서 변경.

en: 
    authlogic: 
     error_messages: 
     login_blank: "Please enter the email address." 
     login_not_found: "This email address is already in the system. Please choose a different email address." 
     login_invalid: "Please enter a valid email address." 
관련 문제