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

Я нашел способ настроить устройство для использования имени пользователя для входа в систему вместо адреса электронной почты.
Но на самом деле я хочу использовать комбинацию: -

Enter username or Email:   <text-box>
Enter your password    :   <text-box>  

Так как этого добиться?

На самом деле нам нужно изменить конфигурацию устройства для поддержки этого.
на данный момент я знаю, что изменение файла "/config/initializers/devise.rb" как

config.authentication_keys = [ :username ] (edited from email to username.)  

будетна самом деле включить вход в систему с использованием имени пользователя вместо emailid.
Но могу ли я сделать что-то вроде: -

config.authentication_keys = [ :username | :email] in the "config/initializers/devise.rb" file.  

Чтобы мы могли разработать имя пользователя или адрес электронной почты в качестве ключа аутентификации во время выполнения в зависимости от предоставленного вводапользователем.
Заранее спасибо.

Ответы [ 3 ]

14 голосов
/ 14 ноября 2010

Посмотрите на это: https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address (URL обновлен)

В нем объясняется, как разрешить пользователям входить в систему, используя свое имя пользователя или адрес электронной почты.

3 голосов
/ 07 ноября 2010

как насчет фильтрации по имени пользователя или электронной почте, если есть @ и a. которые будут характеристиками для электронной почты.

0 голосов
/ 10 сентября 2014

Вы можете использовать это руководство https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address

, но не забудьте изменить: authentication_keys => [: имя пользователя] в модели devise или в devise.rb, как предложено в руководстве по адресу: authentication_keys => [: login] чтобы заставить его работать

С уважением

...