현재 "A".. "Z"에 대한 8 자리 의사 난수 대문자 문자열을 생성 중입니다.
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