2011-01-03 5 views
3

クローンレコードとその関連レコードはどうやってできますか?Railsクローンレコード

例。

カテゴリ
_ |製品
_ __
|製品バリアント

ボタンをクリックすると、カテゴリ、製品、製品のバリアントが複製/コピーされます。

ありがとう...

答えて

4

すべての関連付けもクローン化されるようにするには、製品とProductVariantに同じことを行うことを忘れないでください...

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 

のように、#cloneを上書きする必要があります。

+0

非常にありがとうございます:O) – andkjaer

0

「クローン」メソッドの使用を開始する必要があります。あなたの問題は、私がそれを正しく理解していれば、あなたは再帰的なクローンが欲しいということです。率直に言って、私はそれが一般的な解決策であるかどうかはわかりませんが、あなたは手で父親/息子の鎖をクローンすることができると思います。多分それは優雅な解決策ではありませんが、うまくいくはずです。

関連する問題