加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – 设计:如何从db获取用户密码

发布时间:2020-12-17 01:32:20 所属栏目:百科 来源:网络整理
导读:我正在为用户登录编写黄瓜测试. 我有这样的场景背景,将用户添加到数据库 User.create!( :email = email,:password = password,:password_confirmation = password ) 那么,为什么在我的顺序步骤中,我得到@ user.password nil? @user = User.find_by :email =
我正在为用户登录编写黄瓜测试.

我有这样的场景背景,将用户添加到数据库

User.create!(

    :email => email,:password => password,:password_confirmation => password

    )

那么,为什么在我的顺序步骤中,我得到@ user.password nil?

@user = User.find_by :email => "some@email.com"

  ...

  fill_in('Email',:with => @user.email)

  fill_in('Password',:with => @user.password)
  ...

解决方法

设计最初通过加密来存储原始密码. encrypted_pa??ssword(模型中的字段名称)存储在数据库中.

现在,当您致电User.find_by时:email => “some@email.com”密码字段不存在.password不是模型User中的字段.它是模型中存在的实例变量,仅在您提交登录/注册表单时设置.在您的情况下,您尝试在登录前访问密码字段,因此,未设置实例变量,并且您将密码设置为nil.

如果您想了解更多详细信息,可以查看Devise password的实际执行情况

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读