ขณะนี้ฉันกำลังสร้างสตริงตัวพิมพ์ใหญ่หลอกแบบ 8 อักขระสำหรับ "A" .. "Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
แต่มันดูไม่สะอาดและไม่สามารถส่งผ่านเป็นอาร์กิวเมนต์ได้เนื่องจากไม่ใช่คำสั่งเดียว ในการรับสตริงตัวพิมพ์เล็ก "a" .. "z" บวก "A" .. "Z" ฉันเปลี่ยนเป็น:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
แต่ดูเหมือนว่าถังขยะ
ใครบ้างมีวิธีที่ดีกว่า
reset_user_password!(random_string)
ที่ไหนdef random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64