Ответ 1
Вы можете попробовать
@user = User.where(:x => "y").first # Find the user depending on the params
sign_in(@user)
# do work
sign_out(@user)
Я не знаю, если это лучший способ сделать это, но он установит current_user
.
Я использую Devise для аутентификации, и когда кто-то посещает определенный URL (с определенными параметрами в URL-адресе), я хотел бы установить "current_user" на определенное значение из db.
Как это сделать?
Кроме того, должен ли я убедиться, что все требования к проверке выполнены? Например, моя пользовательская модель имеет:
validates_presence_of :username, :email
Если я установил current_user, должен ли я установить оба имени: username и: email, или я могу просто сделать то или другое?
Вы можете попробовать
@user = User.where(:x => "y").first # Find the user depending on the params
sign_in(@user)
# do work
sign_out(@user)
Я не знаю, если это лучший способ сделать это, но он установит current_user
.
devise current_user
helper устанавливает переменную экземпляра @current_user, так что:
@current_user = User.first
также установит current_user для выбранного пользователя.