我如何克隆记录及其相关记录?
实施例
类别
_ | 产品
_ __ | 产品变体
因此,当我点击一个按钮时,会克隆/复制类别,产品和产品变体。
...谢谢
答案 0 :(得分:4)
您必须覆盖#clone,以便克隆所有关联,例如
class Category < ActiveRecord::Base
has_many :products
alias_method :original_clone, clone
def clone
category = self.original_clone
category.products = self.products.clone
end
end
...请记住在Product和ProductVariant上做同样的事情。
答案 1 :(得分:0)
我认为你应该从使用“克隆”方法开始。如果我理解正确的话,你的问题是你想要一个递归克隆。坦率地说,我不知道它是否存在一般解决方案,但我认为你可以手工克隆你父亲/儿子链。也许这不是一个优雅的解决方案,但它应该有效。