忘记密码ajax,通过ajax设计密码可恢复模块

我构建了一个JavaScript前端(ember)到api api,并且我正在使用devise进行用户身份验证。通过ajax设计密码可恢复模块

一切正常,但密码恢复让我很难。我看着views/devise/password/edit.html.erb在设计和属性似乎是password,new_password和password_reset_token。

我赶上从通过电子邮件发送该URL的密码重置令牌,并构建由它下面的Ajax调用:

$.ajax({

url: '/users/password.json',

type: 'PUT',

data: {password: this.get('password'), password_confirmation: this.get('passwordconfirmation'), reset_password_token: this.get('content.reset_token')}

});

我可以看到呼叫被接受,但我发现有一项我无法理解的错误。我认为这与从标准视图返回的resource有关,但我认为我在ajax调用中覆盖了/user部分。

我在网上找到的所有东西都是关于登录和更改密码的,这一点什么都没有。

我得到的错误是:

Started PUT "https://stackoverflow.com/users/password.json" for 127.0.0.1 at 2013-05-29 09:01:36 +0200

Processing by Devise::PasswordsController#update as JSON

Parameters: {"password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "reset_password_token"=>"[FILTERED]"}

Completed 500 Internal Server Error in 1ms

NoMethodError - undefined method `[]' for nil:NilClass:

(gem) devise-2.1.2/lib/devise/models/recoverable.rb:125:in `reset_password_by_token'

(gem) devise-2.1.2/app/controllers/devise/passwords_controller.rb:30:in `update'

感谢您的时间。

2013-05-29

Rudi

+0

你能分享你如何通过JSON获得重置密码令牌吗?我无法做到这一点。 –

+0

@dwhite我不明白通过JSON。它会在确认链接中发送一封电子邮件。一旦用户点击链接,它会返回到我的网站,那时我拥有令牌。 ajax.request({url:'/api/v1/users/password.json', type:'PUT', data:{'user [password]':this.get('password'),'user [password_confirmation]':this.get('passwordconfirmation'),'user [reset_password_token]':this.get('content.reset_token')} }) –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值