Подтвердить что ты не робот

Authlogic email как имя пользователя

Как переопределить/установить authlogic для использования поля электронной почты вместо поля имени пользователя как для регистрации, так и для проверки подлинности, наличие имени пользователя + по электронной почте иногда слишком интенсивное для некоторых сценариев регистрации.

4b9b3361

Ответ 1

Если вы просто удалите столбец login и добавьте столбец email, authlogic сделает все остальное.

В этом примере readme для всех необязательных/необходимых столбцов БД.

Ответ 2

лучший ответ попробуйте это... ну, при необходимости обновите самописью authlogic!

user_session.rb

class UserSession < Authlogic::Session::Base
  find_by_login_method :find_by_email #for example or you can make what ever method see exapmle 2
end

--- пример 2

user_session.rb

class UserSession < Authlogic::Session::Base
  find_by_login_method :find_by_anything
end

user.rb

class User < ActiveRecord::Base
  acts_as_authentic

  def self.find_by_anything(login)
    find_by_login(login) || find_by_email(login) || find_by_id(login)
  end
end

Ответ 3

Как комментарий Адама содержит хороший ответ на этот вопрос. Добавьте это в свою модель пользователя:

class User < ActiveRecord::Base
  acts_as_authentic do |c| c.login_field = :email end
end