2010-12-16 78 views
1

我在我的應用程序中使用Rails Authlogic。我想覆蓋驗證消息。 validates_length_of和validates_format_of正在工作,但validates_presence_of對登錄名和密碼都不起作用。如何在rails中覆蓋authlogic驗證消息?

有人可以幫我解決這個問題嗎?

回答

0

添加地區語言文件的config /區域設置/ es.yml到語言環境中再加入這樣的事情:

es: 
    authlogic: 
    error_messages: 
     login_blank: No puede estar en blanco 
     login_not_found: no es valido 
     login_invalid: "debe utilizar sólo letras, numeros, espacios, y [email protected] por favor." 
     consecutive_failed_logins_limit_exceeded: Consecutive failed logins limit exceeded, account is disabled. 
     email_invalid: debe ser similar a una dirección de correo electrónico. 
     password_blank: No puede estar en blanco 
     password_invalid: no es valido 
     not_active: Tu cuenta no está activo 
     not_confirmed: Su cuenta no se confirma 
     not_approved: "Tu cuenta no está aprobada" 
     no_authentication_details: Usted no proporcionó ningún detalle para la autenticación. 
     email_invalid: "No es valido" 
0

是失敗爲您UserUserSession模型的驗證?或兩者?

對於User模式,確保您呼叫acts_as_authentic

class User 
    acts_as_authentic 
end 

對於UserSession模型,確保你從Session類繼承:

class UserSession < Authlogic::Session::Base 
end 

至於定製錯誤消息,您可以使用i18n方法,如下所述。或者,至少User模型,您可以在Ruby中完成。看到這些Authlogic文檔:

http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/ActsAsAuthentic/Login/Config http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/ActsAsAuthentic/Password/Config

在這些文檔,你會發現有一些開始的方法 「合併」。那些人應該爲你做詭計。我找不到Session類的任何等效物。在這個堆棧溢出問題中的評論暗示它不存在:

Custom validation messages for Session model in Authlogic