gpt4 book ai didi

ruby - FactoryGirl create_list 传入多个值

转载 作者:数据小太阳 更新时间:2023-10-29 06:46:44 25 4
gpt4 key购买 nike

如果我有这个工厂:

factory :product, class: Product do
name { Faker::Commerce.product_name }
description { Faker::Lorem.paragraph }
price { Faker::Number.number(3) }
end

我可以使用 create_list 创建 2 个这样的产品:

FactoryGirl.create_list(:product, 2)

但我想将默认值传递给我的两个产品,我会假设理论上是这样的吗?

prods = [{:name => "Product 1"},{:name => "Product 2"}]
FactoryGirl.create_list(:product, prods.count, prods)

我已经搜索了一段时间,没有找到这个问题的答案,是否可以使用像 create_list 这样的优雅解决方案?

我喜欢这个解决方案的原因是因为 :product 是父模型的许多子关联之一。我想要一种可配置的方式,我可以通过单个 FactoryGirl.create 命令生成父模型工厂,并为子关联传递我想要的所有值(通过使用 FactoryGirl 的特征和忽略 block ).我希望这是有道理的。我可以在这里展示一堆代码,但我相信这提供了足够的上下文?

最佳答案

您可以自己生成列表:

data = [{:name => "Product 1"},{:name => "Product 2"}]
products = data.map { |p| FactoryGirl.create(:product, p) }

这应该会给您留下一系列产品。

关于ruby - FactoryGirl create_list 传入多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com