首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spree/Rails用户密码重置

Spree/Rails用户密码重置
EN

Stack Overflow用户
提问于 2013-02-20 05:56:53
回答 2查看 4.3K关注 0票数 2

我正在尝试从Rails控制台设置用户(admin)的密码:

代码语言:javascript
复制
bundle exec rails console
> Spree::User.first.email
=> "admin@mysite.com"
> Spree::User.first.encrypted_password
  Spree::User Load (1.1ms)  SELECT "spree_users".* FROM "spree_users" LIMIT 1
=> "4ec556............................................."
>  Spree::User.first.password='spree123'
  Spree::User Load (1.0ms)  SELECT "spree_users".* FROM "spree_users" LIMIT 1
=> "spree123"
>  Spree::User.first.password_confirmation='spree123'
  Spree::User Load (1.0ms)  SELECT "spree_users".* FROM "spree_users" LIMIT 1
=> "spree123"
>  Spree::User.first.save!
  Spree::User Load (1.0ms)  SELECT "spree_users".* FROM "spree_users" LIMIT 1
   (0.3ms)  BEGIN
   (1.3ms)  SELECT COUNT(DISTINCT "spree_users"."id") FROM "spree_users" LEFT OUTER JOIN "spree_roles_users" ON "spree_roles_users"."user_id" = "spree_users"."id" LEFT OUTER JOIN "spree_roles" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles"."name" = 'admin'
   (0.3ms)  COMMIT
=> true
> Spree::User.first.encrypted_password
  Spree::User Load (1.0ms)  SELECT "spree_users".* FROM "spree_users" LIMIT 1
=> "1bc15d.............................................."

到目前一切尚好。看起来用户的新密码已经更改并提交到数据库。但是,当我稍后尝试使用web客户端并使用新密码登录时,它会失败,并显示无效身份/密码消息。我甚至尝试过用Spree::User.first.reset_password!('spree123', 'spree123')更新密码,但是我还是不能登录。

Rails 3.2.12 Spree 1.3.2

你知道我做错了什么吗?如何正确设置新密码?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-02-20 09:30:48

问题是,每次执行Spree::User.first时,都会从数据库重新加载记录。这意味着您正在设置记录的一个实例上的值,重新加载它,然后保存重新加载的没有实际更改的模型。一种简单的解决方法是创建一个包含记录的本地实例变量并进行更新:

代码语言:javascript
复制
user = Spree::User.first
user.password='spree123'
user.password_confirmation='spree123'
user.save!
票数 13
EN

Stack Overflow用户

发布于 2017-08-28 00:22:13

代码语言:javascript
复制
Spree::User.first.update_attributes(password: 'password')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14968254

复制
相关文章

相似问题

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