我在我的应用程序中使用Rails Authlogic。我想覆盖验证消息。 validates_length_of和validates_format_of正在运行,但validates_presence_of对登录名和密码都不起作用。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
将语言环境语言文件config / locales / es.yml添加到locales,然后添加如下内容:
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 .-_@ 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"
答案 1 :(得分:0)
User
或UserSession
型号的验证失败了吗?或两者兼而有之?
对于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
类的任何等价物。 Stack Overflow问题中的注释表明它不存在: