Можно ли получить объект пользователя со страницы сброса пароля при использовании Devise? - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу отобразить электронную почту пользователя на странице сброса пароля, но я не уверен, что этот объект доступен по умолчанию.

edit_password_url(@resource, :reset_password_token => @token, email: @resource&.email)

Я добавил параметр электронной почты, и это работает для пользователей, щелкающих по ссылке в будущем, но уже отправленные электронные письма со ссылкой для сброса пароля не будут иметь этого параметра.

1 Ответ

0 голосов
/ 22 апреля 2019

У вас есть @token, который уникален для каждого пользователя.Это означает, что вы можете найти пользователя по его токену сброса пароля.Есть много способов сделать это, но предполагая, что ваша модель User, вы можете:

@token = params[:reset_password_token] # the token from the URL
@resource = User.find_by_reset_password_token(@token)
@email = @resource&.email
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...