我有一个FactoryGirl
模型类。在这个模型中,我定义了一些特征。在一些特质中,我不希望FactoryGirl回调调用,但我不知道如何。例如,下面是我的代码:工厂女孩:想要防止一些性状的工厂女孩回调
FactoryGirl.define do
factory :product do
sequence(:promotion_item_code) { |n| "promotion_item_code#{n}" }
after :create do |product|
FactoryGirl.create_list :product_details, 1, :product => product
end
trait :special_product do
# do some thing
# and don't want to run FactoryGirl callback
end
end
在这段代码中,我不想:special_product
特质调用after :create
。我不知道该怎么做。
@Edit:我想这样做的原因是因为有时我想从父 - >子生成数据。但有时候我想反过来从孩子到父母产生。所以当我从孩子 - >父母去时,会调用父母的回调函数,这样孩子就会创建两次。这不是我想要的。
@编辑2:我的问题是阻止从FactoryGirl,而不是从ActiveRecord模型回调。
感谢
的[跳过对工厂女孩和Rspec的回调(http://stackoverflow.com/questions/8751175/skip-callbacks-on-factory-girl-and-rspec) –
@WesFoster都能跟得上可能的复制。请仔细阅读答案和问题。您的文章是关于跳过ActiveRecord回调。 –