Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中5-11个字符之间的唯一字母数字_Ruby On Rails_Alphanumeric - Fatal编程技术网

Ruby on rails Rails中5-11个字符之间的唯一字母数字

Ruby on rails Rails中5-11个字符之间的唯一字母数字,ruby-on-rails,alphanumeric,Ruby On Rails,Alphanumeric,我见过几种生成唯一字母数字的方法,但大多数方法都指定了特定的长度 对于长度必须在5到11之间的模型,有什么好方法可以获得唯一的字母数字 我试着用这种方法: Array.new(8){[*'0'..'9', *'a'..'z', *'A'..'Z'].sample}.join 但尺寸限制为8 您可以使用rand修改示例: Array.new(rand(5..11)) { [*'0'..'9', *'a'..'z', *'A'..'Z'].sample }.join 您也可以使用,但它不能生成只

我见过几种生成唯一字母数字的方法,但大多数方法都指定了特定的长度

对于长度必须在5到11之间的模型,有什么好方法可以获得唯一的字母数字

我试着用这种方法:

Array.new(8){[*'0'..'9', *'a'..'z', *'A'..'Z'].sample}.join

但尺寸限制为8

您可以使用rand修改示例:

Array.new(rand(5..11)) { [*'0'..'9', *'a'..'z', *'A'..'Z'].sample }.join
您也可以使用,但它不能生成只有A-Z、A-Z、0-9符号的字符串。也许你可以选择其他的序列。我更喜欢urlsafe_base64或十六进制:

require 'securerandom'

SecureRandom.urlsafe_base64(rand(5..11)) #result may contain A-Z, a-z, 0-9, “-”
SecureRandom.hex(rand(5..11)) #result may contain 0-9 and a-f