Ruby on rails 3 工厂中构建回调后如何跳过?
我在创建工厂时遇到了一个问题。我有一个像这样的工厂:Ruby on rails 3 工厂中构建回调后如何跳过?,ruby-on-rails-3,factory-bot,Ruby On Rails 3,Factory Bot,我在创建工厂时遇到了一个问题。我有一个像这样的工厂: Factory.define :job do |j| j.association :service_partner, :factory => :service_partner j.price_per_task 1.to_money end j.after_build{|j| j.project.service_partner_ids = [j.service_partner.id] unless j.service_pa
Factory.define :job do |j|
j.association :service_partner, :factory => :service_partner
j.price_per_task 1.to_money
end
j.after_build{|j| j.project.service_partner_ids = [j.service_partner.id] unless j.service_partner.nil?}
end
创建工厂时如何跳过生成后的回调?如果您只想偶尔运行生成后的回调,最好是定义一个嵌套工厂:
Factory.define :job do |j|
j.association :service_partner, :factory => :service_partner
j.price_per_task 1.to_money
end
factory :job_with_additional_setup do
j.after_build{|j| j.project.service_partner_ids = [j.service_partner.id] unless j.service_partner.nil?}
end
end
然后,您可以通过执行FactoryGirl.create(:job)
或使用after\u build:FactoryGirl.create(:job\u with\u additional\u setup)创建一个正常作业。