我有一個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回調。 –