我有两个FactoryBots =〉user
和post
并且post有user_id
列
FactoryBot.define do
factory :user do
sequence(:name) { |n| "user#{n}" }
end
end
FactoryBot.define do
factory :post do
sequence(:title) { |n| "title#{n}" }
sequence(:user_id) { |n| n }
end
end
我想做10个用户,和100个职位(每个用户10职位),所以我尝试。倍方法像这样=〉
10.times do
FactoryBot.define do
factory :post do
sequence(:title) { |n| "title#{n}" }
sequence(:user_id) { |n| n }
end
end
end
由于Factory already registered
错误,此操作不起作用
FactoryBot.define do
10.times do
factory :post do
sequence(:title) { |n| "title#{n}" }
sequence(:user_id) { |n| n }
end
end
end
这也不管用。
FactoryBot.create_list(:user, 10)
10.times do
FactoryBot.create_list(:post, 10)
end
这使得FactoryBot生成post num 11, user num 11
,因此发生foriegn键错误。我如何多次使用create_list方法?
只是我想做的是,每10个用户10个职位。
1条答案
按热度按时间qni6mghb1#
如果你以后不需要引用这些用户和/或帖子中的任何一个,那么你可以每10个帖子使用同一个用户创建10个帖子;