我有一家工厂,看起来像:
factory :order_with_approval do
status 'approved'
association :approval, factory: :approval
end
现在,我需要批准模型来获取订单ID并将其设置为事件ID。通过执行以下操作,我已经能够从另一个方向解决这个问题:
factory :cancellation do
reason 'a reason'
cancellation_date Date.current
association :eventable, factory: :order
end
所以可能的工作是,如果我可以将新工厂以外的东西传递给协会。我想做的是通过父工厂。那可能吗?我可以通过其他方式实现吗?
答案 0 :(得分:0)
交叉引用可以用shown here的after
子句来解析:
factory :order_with_approval do
status 'approved'
association :approval, factory: :approval
after(:build, :create) do |order, _evaluator|
order.approval.update_attributes!(eventable: order)
end
end