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

时间:2019-04-22 19:02:16

标签: ruby-on-rails devise

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

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

我添加了电子邮件参数,该参数适用于用户单击向前的链接,但是已经发送的带有重置密码链接的电子邮件将没有此参数。

1 个答案:

答案 0 :(得分:0)

您拥有@token,它对于每个用户都是唯一的。这意味着您可以通过其重置密码令牌找到该用户。有很多方法可以做到这一点,但是假设您的模型是User,则可以:

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