如何在rails开发环境中使用factory_girl正确排序?

Run*_*Run 4 ruby-on-rails factory-bot

我想将factory_girl集成到rails开发环境中以快速创建记录。然而,每次我打开rails控制台并执行一些操作时,序列状态总是从零开始,这导致违反唯一性的错误。例如:

FactoryGirl.define do
  factory :user do
    name 'Jim'
    email
  end

  sequence :email do |n| # every time n begins at 0
    "#{n}@exmaple.com"
  end
end
Run Code Online (Sandbox Code Playgroud)

您有一些简单的解决方案来解决这个问题吗?谢谢你!

小智 6

n如果您愿意,您可以设置初始值。您可以通过以下方式实现这一目标:

FactoryGirl.define do
  factory :user do
    name 'Jim'
    sequence :email, 100 do |n|
      "#{n}@exmaple.com"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

或者

FactoryGirl.define do
      factory :user do
        name 'Jim'
        sequence(:email, 100) { |n| "person#{n}@example.com" }
      end
end
Run Code Online (Sandbox Code Playgroud)

注意:有关更多信息,请查看 此处的n = 100 in this case文档