Использование имени пользователя или электронной почты для ошибки при разработке Devise - PullRequest
1 голос
/ 10 декабря 2011

Я последовал за публикацией в вики, чтобы добавить имя пользователя в качестве другого метода аутентификации для Devise. https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign_in-using-their-username-or-email-address

После того, как я выполнил шаги и попытался войти в систему, я получил эту ошибку:

ActiveRecord::StatementInvalid in Devise::SessionsController#create 
SQLite3::SQLException: no such column: users.login: SELECT  "users".* FROM "users"  WHERE "users"."login" = 't2kocurek@gmail.com' LIMIT 1

Как видите, метод create ищет столбец входа.Я не уверен, почему это происходит.Я переопределил контроллер регистрации и добавил к нему метод self.find_for_authentication вместе с другими методами.

Есть мысли?

Какой код мне нужно будет опубликовать, чтобы дать больше подсказок?

1 Ответ

2 голосов
/ 10 декабря 2011

Возможно, вы пропустили некоторые детали при копировании кода. Вы уверены, что определили def self.find_for_authentication, то есть метод класса? Чтобы быть уверенным, попробуйте добавить raise в определение вашего метода и посмотрите, появится ли ошибка.

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