我的关系如下:
Customer has many Orders
Order has many Parts
我要做的是将订单/零件分配给另一个客户,但我想保留原始客户/订单/零件的关系。所以我尝试了这个(假设customer
是一个客户实例)
another_customer_id = 22
customer.orders.each do |order|
ord = order.dup
ord.customer_id = another_customer_id
ord.save!
order.parts.each do |part|
prt = part.dup
prt.order_id = ord.id
prt.save!
end
end
所以我假设一旦我这样做,customer_two.orders
我会像第一个客户一样得到一切,但奇怪的是我没有。似乎第一个客户的订单/零件翻了一番。
我怎样才能以更好的方式做到这一点?
更新
当我使用.dup
方法时,原始客户订单在数据库中增加了一倍。当我使用.clone
而不是.dup
没有任何反应时,另一个客户仍然没有来自原始客户的订单