我正在构建一个使用Devise
进行登录的网站。我以为我将管理员名称设置为admin@admin.com
,密码设置为testing123
,但它不起作用。我在这里看到另一篇帖子说我可以进入irb并输入
y User.all
并且所有用户都会提供他们的信息。这不起作用。我只想打电话来查看管理员名称和密码是什么,所以我不必再重建一切。有人可以帮忙吗?
答案 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)
rails c
。User.all
User.where(email: "foo@bar.com")
将返回与电子邮件匹配的用户(您可以按任何模型属性进行搜索),以查看您的用户模型可以执行哪些属性User
输出用户模型结构。usr = User.first
中(抓取第一个用户,您也可以使用where
找到x用户,然后将其存储在usr变量中以便稍后引用它) 。使用where
的示例:usr = User.where(email: "foo@bar.com").first
。usr.update_attributes(email: "another@email.com", password: "newpassword123")
的电子邮件和密码,现在您刚刚成功更改了数据库的第一个用户usr.email
的电子邮件和密码,将输出"another@email.com"
和{{1}将输出您设置但加密的密码,但您现在可以使用新凭据登录或执行任何操作。 注意 :usr.password
将访问您的rails c
环境,如果您想要访问您的生产环境(例如在heroku中) )你做development
。
答案 3 :(得分:0)
首先,您需要通过点击=> rails c
或rails console
然后像这样搜索您的信息=> user = User.find_by(email: "admin@admin.com")
然后只需执行此操作=> user.password = "your new password"
然后=> user.save!