Как переписать сообщения проверки подлинности в рельсах? - PullRequest
1 голос
/ 16 декабря 2010

Я использую Rails Authlogic в моем приложении. Я хочу перезаписать сообщения проверки. validates_length_of и validates_format_of работают, но validates_presence_of не работает для логина и пароля.

Может кто-нибудь помочь мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Сбой проверки для вашей модели 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 класса. Комментарий в этом вопросе переполнения стека предполагает, что он не существует:

Пользовательские сообщения проверки для модели сеанса в Authlogic

0 голосов
/ 16 декабря 2010

Добавьте языковой файл языкового стандарта config / locales / 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  .-_@ 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...