0
我有一个要复制的对象CartItem
。每个CartItem
属于Cart
。在更改某个对象的属性时复制对象
我正在写一个方法,将采取一个旧的订单,并复制其所有cart_items
并将其放置在当前的购物车。
order.add_items_to_cart(current_cart, current_user)
Order.rb
def add_items_to_cart(cart, cart_user)
cart.update_attributes(merchant_id: self.merchant_id)
self.cart_items.each do |ci|
new_cart_item = ci.dup
new_cart_item.save
new_cart_item.update_attributes(cart_id: cart.id, cart_user_id: cart_user.id)
end
end
目前,我有以上。有没有更好的方法来改变和改变一行中的属性?
我要复制的属性,也是协会,但我要指出的协会一个不同的对象。 – Huy
你可以创建方法'CartItem#duplicate',它返回你所需要的。我已经更新了上面的代码。 – Zhomart