Rails控制台"密码:nil"

时间:2013-12-08 08:55:27

标签: ruby-on-rails ruby

不确定这是否是一个问题,但我想确定在继续迈克尔哈特尔导轨教程之前。这是我在(http://ruby.railstutorial.org/chapters/sign-up#sec-the_first_signup

末尾的章节

他有这个

$ rails console
>> User.find_by(email: "example@railstutorial.org")
=> #<User id: 1, name: "Rails Tutorial", email: "example@railstutorial.org",
created_at: "2013-03-12 05:51:34", updated_at: "2013-03-12 05:51:34",
password_digest: "$2a$10$A58/j7wwh3aAffGkMAO9Q.jjh3jshd.6akhDKtchAz/R...">

我明白了

$ rails console
>> User.find_by(email: "example@railstutorial.org")
=> #<User id: 1, name: "Foo Bar", email: "example@railstutorial.org", created_at
: "2013-12-08 08:29:45", updated_at: "2013-12-08 08:29:45", password_digest: "$2
a$10$R2bw6s6FIsBtL9WPn21ypua4sWjB.xWeYOojrWj3Idkv...", password: nil>

注意&#34;密码:nil&#34;我得到了我的支持。他似乎没有得到他的?这是一个问题还是我似乎做错了什么?

可根据要求添加其他代码或信息。

2 个答案:

答案 0 :(得分:2)

我不知道具体的例子,但看起来很好。通常,在从数据库中检索密码后,您希望密码为nil,因为它不应直接存储在数据库中。密码摘要表示密码的加密形式,可用于在用户尝试登录时检查密码是否正确。

Rails显示每个属性。出于某种原因,教程示例不包含用户的密码属性,而在您的代码中,它就在那里。如果数据库迁移确实包含“密码”属性,那么您希望在此记录的结果中看到它。

答案 1 :(得分:0)

我也使用mamoff,rails默认使用密码摘要以加密格式存储密码,因此无法直接访问,但您可以使用新密码重置当前密码并使用rails console help。