如何在rails终端中查看用户和密码?

Opt*_*tiq 1 ruby-on-rails spree devise

我正在构建一个用于登录的网站Devise。我以为我将管理员名称设置为admin@admin.com并将密码设置为testing123,但它不起作用。我在这里看到另一篇文章说我可以进入 irb 并输入

y User.all
Run Code Online (Sandbox Code Playgroud)

所有用户都会提供他们的信息。那是行不通的。我只是想调用它来查看管理员名称和密码是什么,这样我就不必重新重建所有内容。有人可以帮忙吗?

bnt*_*zio 7

这就是你的做法。

  1. rails c从终端输入 Rails 控制台。
  2. 查看所有用户User.all
  3. 通过电子邮件查找用户User.where(email: "foo@bar.com")如果与电子邮件匹配,将返回该用户(您可以通过任何模型属性进行搜索),以查看您的用户模型具有哪些属性,您可以执行这些操作User,这将输出用户模型结构。
  4. 获取一个用户并将其存储在一个变量中usr = User.first(获取第一个用户,您where也可以使用它来查找 x 用户,然后将其存储在 usr 变量中以供稍后引用)。使用示例whereusr = User.where(email: "foo@bar.com").first.
  5. 更改第一个用户的电子邮件和密码usr.update_attributes(email: "another@email.com", password: "newpassword123")现在您刚刚成功更改了数据库的第一个用户的电子邮件和密码usr.email将输出"another@email.com"并将usr.password输出您设置但已加密的密码,但您现在可以使用新凭据登录或做你想做的。

注意rails c将访问您的development环境,如果您想访问您的生产环境(例如在heroku中),您可以这样做heroku run rails c