Ruby on rails HartlRails教程-种子用户密码

Ruby on rails HartlRails教程-种子用户密码,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在努力学习MichaelHartl的优秀Rails教程,我正试图了解种子用户的一个方面。我刚刚读完第9章,所以我有一个具有管理员权限的工作登录/注销/编辑/删除系统。作为本章的一部分,我们在fixtures文件中创建一些虚拟用户: michael: name: Michael Example email: michael@example.com password_digest: <%= User.digest('password') %> admin: true

我正在努力学习MichaelHartl的优秀Rails教程,我正试图了解种子用户的一个方面。我刚刚读完第9章,所以我有一个具有管理员权限的工作登录/注销/编辑/删除系统。作为本章的一部分,我们在fixtures文件中创建一些虚拟用户:

michael:
  name: Michael Example
  email: michael@example.com
  password_digest: <%= User.digest('password') %>
  admin: true
迈克尔: 姓名:Michael Example 电邮:michael@example.com 密码摘要: 管理员:是的 我的问题是:我如何以身份登录michael@example.com? 我不清楚密码是什么。请注意,创建通用“管理员”用户的最佳实践是什么?我应该使用一个fixture,还是应该在部署应用程序之前通过Rails控制台向数据库添加一个fixture

谢谢你的帮助



编辑-这是指向BitBucket存储库的链接:

您正在从字符串“password”生成密码摘要


因此,用户的密码是“password”

密码不会按原样保存在数据库中。相反,将保存该文件的摘要/安全版本。方法#digest接受一个参数并输出摘要版本

因此,从技术上讲,设置的密码是“password”。但在数据库中,你会发现它乱七八糟


有意义吗?

解决什么是数据库种子的主要问题。db/seed.rb是一个非常漂亮的东西,它可以帮助您快速地为一些测试用户设定种子。正如您所看到的,它有.rb扩展名,所以它是一个普通的ruby程序,没有什么不寻常的。您可以在这里访问所有模型,不必从控制台手动输入所有内容。 好吧,我想你已经从前面的答案中弄明白了密码的含义。只要看一下方法摘要,上一篇是关于如何对用户进行身份验证的完美文章。
最后一个问题看一下,它将帮助你理解这个概念

这回答了你的问题吗?或者,你需要更清晰一些吗。一定要把对你最有帮助的答案标出来。它帮助其他人轻松找到解决方案。谢谢答案似乎很简单,但我无法使用“密码”作为密码登录。希望在检查解决方案之前解决这个问题。我不确定冒烟的枪可能是什么,所以我已经发布了git存储库的链接。谢谢-非常直接,切中要害。如果我告诉你这没用,你会怎么说?我用michael@example.com作为用户名和密码作为密码,但我无法登录。要回答这个问题,您需要提供更多信息:代码摘录负责登录功能;验证错误,确保您有“无效电子邮件或密码”错误;测试摘录,以确保您在尝试登录之前创建了用户记录等。我不确定冒烟枪可能是什么,因此我已将链接发布到git存储库。
User.digest('password')