使用 Devise 时是否可以从重置密码页面获取用户对象?
Is it possible to get the user object from the reset password page when using Devise?
我想在重置密码页面中显示用户的电子邮件,但我不确定默认情况下是否可以访问该对象。
edit_password_url(@resource, :reset_password_token => @token, email: @resource&.email)
我添加了电子邮件参数,这适用于点击 link 的用户,但已发送的带有重置密码 link 的电子邮件将没有此参数。
您拥有 @token
,它对每个用户都是唯一的。这意味着您可以通过他们的重置密码令牌找到用户。有很多方法可以做到这一点,但假设您的模型是 User
,您可以:
@token = params[:reset_password_token] # the token from the URL
@resource = User.find_by_reset_password_token(@token)
@email = @resource&.email
我想在重置密码页面中显示用户的电子邮件,但我不确定默认情况下是否可以访问该对象。
edit_password_url(@resource, :reset_password_token => @token, email: @resource&.email)
我添加了电子邮件参数,这适用于点击 link 的用户,但已发送的带有重置密码 link 的电子邮件将没有此参数。
您拥有 @token
,它对每个用户都是唯一的。这意味着您可以通过他们的重置密码令牌找到用户。有很多方法可以做到这一点,但假设您的模型是 User
,您可以:
@token = params[:reset_password_token] # the token from the URL
@resource = User.find_by_reset_password_token(@token)
@email = @resource&.email