ในขณะที่ใช้งานแอพคุณจะเลือกผู้ใช้ตามที่อยู่อีเมลแล้วตั้งรหัสผ่านด้วยตนเองภายในrails console
สำหรับ Devise ได้อย่างไร?
นอกจากนี้ฉันจะไปตรวจสอบเอกสารเพื่อให้ครอบคลุมรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการบัญชีขณะใช้ Devise ได้ที่ไหน
ในขณะที่ใช้งานแอพคุณจะเลือกผู้ใช้ตามที่อยู่อีเมลแล้วตั้งรหัสผ่านด้วยตนเองภายในrails console
สำหรับ Devise ได้อย่างไร?
นอกจากนี้ฉันจะไปตรวจสอบเอกสารเพื่อให้ครอบคลุมรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการบัญชีขณะใช้ Devise ได้ที่ไหน
คำตอบ:
มันมากหรือน้อยตามที่คุณอธิบายไว้ :-)
# use mongoid
class User
include Mongoid::Document
end
# then
user = User.where(email: 'joe@example.com').first
if user
user.password = new_password
user.password_confirmation = new_password
user.save
end
อุปกรณ์สมัยใหม่ช่วยให้ไวยากรณ์ง่ายขึ้นโดยไม่จำเป็นต้องตั้งค่าฟิลด์ยืนยัน
user.password = new_password; user.save
# or
user.update_attributes(password: new_password)
User.store_in 'admin_users'
undefined method
ดูเหมือนว่าฉันจะไม่สามารถเข้าถึงโต๊ะได้เพราะฉันเพิ่งได้รับคืนมา สิ่งที่เกี่ยวกับการสืบค้นตารางทั้งหมดและรับรายการทั้งหมดในนั้นในตอนแรกเพื่อทดสอบดูว่าฉันเข้าสู่ตารางนั้นในตอนแรกหรือไม่ (ทำงานใน MySQL ที่นี่ แต่ก็ไม่สำคัญกับ ActiveRecord)
# $ rails console production
u=User.where(:email => 'usermail@gmail.com').first
u.password='userpassword'
u.password_confirmation='userpassword'
u.save!
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
หากคุณเรียกใช้สิ่งต่อไปนี้ในคอนโซลรางควรทำตามเคล็ดลับ:
User.find_by(email: 'user_email_address').reset_password!('new_password','new_password')
http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Recoverable
User.find_by(email: 'user_email_address').reset_password('new_password','new_password')
คุณสามารถอัปเดตฟิลด์รหัสผ่านได้โดยไม่จำเป็นต้องยืนยันรหัสผ่านอุปกรณ์จะบันทึกไว้ในรูปแบบที่เข้ารหัส
u = User.find_by_email('user@example.com')
u.update_attribute(:password, '123123')
ด้วยเหตุผลบางประการ (Rails 2.3 ??)
user = User.where(:email => email).first
ไม่ได้ผลสำหรับฉัน แต่
user = User.find_by_email('user@example.com')
ทำมัน
1. เข้าสู่ระบบ ralis console
$ sudo bundle exec rails console production
2. จากนั้นอัปเดตรหัสผ่านของผู้ดูแลระบบ
irb(main):001:0> user = User.where("username = 'root'")
irb(main):002:0> u = user.first
irb(main):003:0> u.password="root2014@Robin"
=> "root2014@Robin"
irb(main):004:0> u.password_confirmation="root2014@Robin"
=> "root2014@Robin"
irb(main):005:0> u.save
=> true
irb(main):006:0> exit
3. รีเฟรชหน้าเข้าสู่ระบบใช้รหัสผ่านใหม่เพื่อเข้าสู่ระบบสนุก!
โชคดี!
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
หากบัญชีของคุณถูกล็อกจากการพยายามเข้าสู่ระบบมากเกินไปคุณอาจต้องทำดังนี้
user.locked_at = ''
user.failed_attempts = '0'
user.save!