Как вы настраиваете devise для приема электронной почты или имени пользователя для входа? - PullRequest
2 голосов
/ 09 сентября 2010

Из коробки гем devise запрашивает адрес электронной почты пользователя и использует его для входа (аутентификации).

В этом Railscast, "Настройка устройства" , четко описывается, как можно аутентифицироваться с помощью имени пользователя вместо электронного письма. Как настроить устройство для проверки подлинности по двум разным столбцам: по имени пользователя или по электронной почте?

Ответы [ 2 ]

3 голосов
/ 09 сентября 2010

Вам просто нужно определить метод find_for_database_authentication (условия).Например, с помощью моногида я делаю это:

  def self.find_for_database_authentication(conditions)
    self.where({ :login => conditions[:login] }).first || self.where({ :email => conditions[:login] }).first
  end
0 голосов
/ 11 сентября 2010

Ах, извините, я не достаточно Google.На вики-устройстве есть ответ: "Войдите в систему, используя логин или почту"

Кроме того, этот вопрос уже задавался и отвечал на stackoverflow здесь: "Вход с именем пользователя ИЛИ ИЛИemail "

Есть еще блог обсуждения , использующий метод self.find_for_authentication, совместимый с Rails 2.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...