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

时间:2016-03-08 06:44:20

标签: ruby-on-rails devise spree

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

y User.all

并且所有用户都会提供他们的信息。这不起作用。我只想打电话来查看管理员名称和密码是什么,所以我不必再重建一切。有人可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

你可以在你的irb中试试这个

User.all.each do |user|
  user.update(password: "testing123", password_confirmation: "testing123")
end

答案 1 :(得分:0)

我会在目录中使用rails c进入rails控制台。然后我会输入:

user = User.find_by(email: "admin@admin.com")

如果您需要更新它,可以这样做

user.update(password: "your password")

(只需确保密码字段被称为密码。如果没有,请调整代码,无论字段被调用)

User.all应该为您提供所有用户的有效记录收集代理(数组)。

答案 2 :(得分:0)

你就是这样做的。

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

答案 3 :(得分:0)

首先,您需要通过点击=> rails crails console

进入Rails Console。

然后像这样搜索您的信息=> user = User.find_by(email: "admin@admin.com")

然后只需执行此操作=> user.password = "your new password"

然后=> user.save!