Rails Clone records - PullRequest
       8

Rails Clone records

3 голосов
/ 03 января 2011

Как мне и возможно ли клонировать записи и связанные с ними записи?

Пример.

Категория
_ | Продукт
_ __
| Вариант продукта

Поэтому, когда я нажимаю кнопку, категория, продукты и варианты продукта клонируются / копируются.

Спасибо ...

Ответы [ 2 ]

4 голосов
/ 03 января 2011

Вы должны перезаписать #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.

0 голосов
/ 03 января 2011

Я думаю, вы должны начать с использования метода "клон".Ваша проблема, если я правильно понял, что вы хотите рекурсивный клон.Честно говоря, я не знаю, существует ли общее решение, но я думаю, что вы могли бы клонировать свою цепочку отца / сына вручную.Возможно, это не элегантное решение, но оно должно работать.

...