使用FactoryGirl / Faker生成3个字母的字符串

时间:2015-03-05 13:58:23

标签: ruby-on-rails ruby factory-bot faker

我想生成与此模式匹配的随机唯一字符串:[A-Z]{3}。如何通过FactoryGirl或Faker实现这一目标?

我想到了FactoryGirl的序列,但无法使其发挥作用。

3 个答案:

答案 0 :(得分:8)

试试这个:

FactoryGirl.define do
  sequence :str do |n|
    (0..2).map { (65 + rand(26)).chr }.join
  end
end

FactoryGirl.generate :str # => "GUW" 

答案 1 :(得分:5)

我最终得到了:

sequence(:code) { ('A'..'Z').to_a.sample(3).join }

答案 2 :(得分:0)

有选项:

Faker::Name.initials(3)