如何从数据库中提取用户更改密码的操作步骤?
- 内容介绍
- 文章标签
- 相关推荐
本文共计311个文字,预计阅读时间需要2分钟。
我正在为用户登录编写黄瓜测试。我有一个这样的场景背景,将用户添加到数据库。使用User.create!(:email=> email, :password=> password, :password_confirmation=> password)。那么,为什么在我的顺序步骤中,我得到了@符号?
我正在为用户登录编写黄瓜测试.我有这样的场景背景,将用户添加到数据库
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_password(模型中的字段名称)存储在数据库中.
现在,当您致电User.find_by时:email => “some@email.com”密码字段不存在.password不是模型User中的字段.它是模型中存在的实例变量,仅在您提交登录/注册表单时设置.在您的情况下,您尝试在登录前访问密码字段,因此,未设置实例变量,并且您将密码设置为nil.
如果您想了解更多详细信息,可以查看Devise password的实际执行情况
本文共计311个文字,预计阅读时间需要2分钟。
我正在为用户登录编写黄瓜测试。我有一个这样的场景背景,将用户添加到数据库。使用User.create!(:email=> email, :password=> password, :password_confirmation=> password)。那么,为什么在我的顺序步骤中,我得到了@符号?
我正在为用户登录编写黄瓜测试.我有这样的场景背景,将用户添加到数据库
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_password(模型中的字段名称)存储在数据库中.
现在,当您致电User.find_by时:email => “some@email.com”密码字段不存在.password不是模型User中的字段.它是模型中存在的实例变量,仅在您提交登录/注册表单时设置.在您的情况下,您尝试在登录前访问密码字段,因此,未设置实例变量,并且您将密码设置为nil.
如果您想了解更多详细信息,可以查看Devise password的实际执行情况

