gpt4 book ai didi

ruby-on-rails-4 - 设计:如何从数据库中获取用户密码

转载 作者:行者123 更新时间:2023-12-01 09:57:47 24 4
gpt4 key购买 nike

我正在为用户登录编写 cucumber 测试。

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

User.create!(

:email => email,

:password => password,

:password_confirmation => password

)

那么,为什么在我的连续步骤中,@user.password 为零?
  @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字段不存在。 password不是模型用户中的字段。它是模型中存在的实例变量,仅在您提交 login/sign up 时设置形式。在您的情况下,您尝试在 log in 之前访问密码字段因此,未设置实例变量,您会得到 password为零。

如果你想了解更多细节,可以查看Devise password的实际实现。

关于ruby-on-rails-4 - 设计:如何从数据库中获取用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com