Rails devse - sign_in неверное количество аргументов с учетом 7, ожидается 2 - PullRequest
0 голосов
/ 02 декабря 2018

Создание API для моего приложения с помощью devise.Просто пытаясь войти в систему пользователя (Officer), метод devise sign_in выдает ошибку.Для справки, Officers - это таблица с 7 столбцами, поэтому я думаю, что это как-то связано с ошибкой, которую я получаю.Если у кого-то есть понимание, это будет с благодарностью.

user = Officer.find_for_database_authentication(email: params[:email].downcase)
      if user == nil
        render plain: "Email has not been registered", status: 422
      elsif user.department == nil || user.department.expiration.past?
        render plain: "Expired."
      elsif user && user.valid_password?(params[:password])
        if user.authentication_token == nil
            user.authentication_token = Digest::SHA1.hexdigest([Time.now, rand].join)
            user.save!
        end
        sign_in(user)

Ошибка в строке:

            sign_in(user)

Я также пытался:

            sign_in(user, scope: :officer)

Ошибка:

wrong number of arguments (given 7, expected 2)

Любая помощь будетс благодарностью!

1 Ответ

0 голосов
/ 02 декабря 2018

Используйте sign_in метод с областью действия, а затем ресурс

sign_in :officer, @user
...