Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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 工厂女孩再利用协会_Ruby On Rails_Factory Bot - Fatal编程技术网

Ruby on rails 工厂女孩再利用协会

Ruby on rails 工厂女孩再利用协会,ruby-on-rails,factory-bot,Ruby On Rails,Factory Bot,这里我定义了两个工厂,Post和User,其中User与Post关联。我用它来种子数据库(不是测试) 我创建了100次帖子 FactoryGirl.create_list(:post, 100) 问题: 这将创建100篇文章,同时也创建100个用户。每个用户一个帖子。我如何告诉Factorygirl创建9个用户(即,少于100个,9个只是一个例子)并在他们之间分割100篇文章?理想情况下,我想进入“用户显示”页面,看到不止一篇文章。您可以做类似的事情: users= FactoryGirl.c

这里我定义了两个工厂,Post和User,其中User与Post关联。我用它来种子数据库(不是测试)

我创建了100次帖子

FactoryGirl.create_list(:post, 100)
问题:


这将创建100篇文章,同时也创建100个用户。每个用户一个帖子。我如何告诉
Factorygirl
创建9个用户(即,少于100个,9个只是一个例子)并在他们之间分割100篇文章?理想情况下,我想进入“用户显示”页面,看到不止一篇文章。

您可以做类似的事情:

users= FactoryGirl.create_list(:user, 10)

total_random_posts_count = 0
users.each do |user|
    random_post_count = rand(1..10)
    total_random_posts_count += random_post_count
    FactoryGirl.create_list(:post, random_post_count, user: user )
end
FactoryGirl.create_list(:post, 100 - total_random_posts_count , user: user )

另外-
用户[rand(10)]
也可以是
用户。sample
从10个用户中随机抽取1个用户,并将该用户分配给所有100个帖子。我正在寻找一种方法,让FactoryGirl每次都随机选择一个相关用户(从10个用户中选择),然后创建一个帖子。
users= FactoryGirl.create_list(:user, 10)

total_random_posts_count = 0
users.each do |user|
    random_post_count = rand(1..10)
    total_random_posts_count += random_post_count
    FactoryGirl.create_list(:post, random_post_count, user: user )
end
FactoryGirl.create_list(:post, 100 - total_random_posts_count , user: user )