как скопировать объект с рельсов - PullRequest
0 голосов
/ 25 мая 2019

Я хотел бы использовать deep_dup для дублирования родительских и дочерних объектов и сохранения в виде новой записи с использованием rails 5. Я искал, чтобы увидеть пример кода для его реализации в моем проекте, но до сих пор не смог ничего найти.

Пока я сделал это, но это не работает.

def copy

  @product = Product.find(params[:id])
  @newproduct = @product.clone :include => :productlines
  success = @newproduct.save

  if success && @newproduct.errors.empty?
    redirect_to (edit_product_path(@newproduct))
    flash[:danger] = "Procut copied"
  else
    flash[:danger] = "Procut  cannot be copied"
  end

end
<%= link_to "Clone", copy_product_path(@product), :method => :put %>

gem deep_cloneable доступен, но я не мог понять документацию, понятия не имею, как его использовать.

Может кто-нибудь просто показать мне, как реализовать это в моем проекте?

Буду очень признателен, если кто-то сможет помочь.

1 Ответ

0 голосов
/ 25 мая 2019

Похоже, вам нужно использовать метод deep_clone , чтобы включить ассоциацию продуктовых линеек (также убедитесь, что он не должен быть product_lines).

@new_product = @product.deep_clone include: :productlines
...