首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Devise send_reset_password_instructions不起作用

Devise send_reset_password_instructions不起作用
EN

Stack Overflow用户
提问于 2013-01-22 22:32:56
回答 1查看 4K关注 0票数 4

我在我的控制器中添加了一个函数,唯一的目标是通过API请求触发忘记密码过程。

下面是reset_password方法-

代码语言:javascript
复制
  def reset_password
    @user = User.find_by_email(params[:email])
    @user.send_reset_password_instructions
    respond_to do |format|
      format.xml  { render :xml => user_api_ressource(@user, :xml)}
      format.json  { render :json => user_api_ressource(@user, :json)}
    end
  end

我收到了带有重置密码链接的邮件,它会打开一个页面,在那里我可以设置一个新的密码,但当我提交表单时,它会显示令牌无效。

我正在使用sendgrid发送电子邮件。我认为这不是一个令牌截断问题。

我使用最新版本的devise在Heroku cedar上运行rails应用程序。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-10-19 09:01:08

我刚刚也遇到了同样的问题。在我的例子中,这是因为userunscoped。似乎在这种情况下找不到用户。

它位于/lib/devise/models/authenticatable.rb第113行的设计源文件中

代码语言:javascript
复制
      recoverable = find_or_initialize_with_error_by(:reset_password_token, reset_password_token)

它不会搜索unscoped

我会分叉回购,让我知道如果你也有兴趣。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14460938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档