Логин на основе дополнительных параметров с devise - PullRequest
0 голосов
/ 24 февраля 2019

Мой клиент хочет разделить пользователя на обычного пользователя и стороннего пользователя.Это означает, что в таблице пользователь может иметь 2 записи с одним и тем же адресом электронной почты, но иметь различное значение в is_party_user (обычный пользователь = false и наоборот).

Я пытался решить проблему с помощью этой инструкции

но это не работает (неопределенный метод `is_party_user 'для ActionDispatch :: Request: 0x00000007619250)

есть ли способ определить, какой тип пользователя затем проходит аутентификацию в SessionController # create?

в параметрах входа третьего пользователя с дополнительным параметром: is_party_user = true

user.rb

devise :database_authenticatable, :encryptable, :registerable,
     :validatable, :recoverable, :rememberable, :trackable, :lockable,
     :timeoutable, :omniauthable, request_keys: [:is_party_user]

def self.find_first_by_auth_conditions warden_conditions
    where(:email => warden_conditions[:email], :is_party_user => warden_conditions[:is_party_user]).first
  end

, сообщая мне ошибку в self.resource = warden.authenticate! (auth_options) (SessionController # creat)

undefined method `is_party_user' for #<ActionDispatch::Request:0x00000008def2a8>

params

{"utf8"=>"✓", "authenticity_token"=>"xxxxxxxx", "user"=>{"is_party_user"=>"1", "email"=>"user@abc", "password"=>"1234"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...