使用Devise时是否可以从重置密码页面获取用户对象?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (15)

我想在重置密码页面中显示用户的电子邮件,但我不确定该对象是否可以默认访问。

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

我添加了电子邮件参数,这适用于用户点击前进的链接,但已发送的带有重置密码链接的电子邮件将不具有此参数。

提问于
用户回答回答于

你有@token,这是每个用户独有的。这意味着您可以通过重置密码令牌找到用户。有很多方法可以做到这一点,但假设你的模型是 User,你可以:

@token = params[:reset_password_token] # the token from the URL
@resource = User.find_by_reset_password_token(@token)
@email = @resource&.email

扫码关注云+社区

领取腾讯云代金券