gpt4 book ai didi

ruby-on-rails - 在 FactoryGirl 中使用 'default' trait 来避免不必要的关联创建

转载 作者:行者123 更新时间:2023-12-04 04:34:39 27 4
gpt4 key购买 nike

是否可以在 FactoryGirl 中定义默认特征?如果我定义这样的工厂(其中两个 question_response 都属于问题):

factory :question_response do
question
work_history

trait :open do
question { FactoryGirl.create :question, question_type: 'open' }
end
end

当我这样做时 FactoryGirl.create :question_response, :open它将首先创建一个默认问题,然后在特征内创建另一个,这是一个不必要的操作。

理想情况下,我想这样做:
factory :question_response do
work_history

trait :default do
question { FactoryGirl.create :question, question_type: 'yes_no' }
end

trait :open do
question { FactoryGirl.create :question, question_type: 'open' }
end
end

然后做 FactoryGirl.create :question将使用默认特征,但似乎不可能。

最佳答案

When I do FactoryGirl.create :question_response, :open it will first create a default question and then create another inside the trait



这不是真的。如果您使用 question 指定特征,它将在创建之前覆盖工厂行为,以便它不会创建默认问题。

我用 FactoryGirl v4.5.0 检查过

关于ruby-on-rails - 在 FactoryGirl 中使用 'default' trait 来避免不必要的关联创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30830034/

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