こんにちは、古いオブジェクトのいくつかの属性をコピーし、変更された属性がほとんどない新しいオブジェクトを作成したいと考えています。Rails バージョン 3.0.7 を使用しているため、old_object.dup を使用できません。私は old_object.clone を使用したくありません。これは、凍結状態のコピーを含む、レコードの浅いコピーを提供するためです。したがって、私は次の方法に従います
@old_product = Product.find(params[:id])
@product = Product.create(@old_product.attributes.merge({:description => params[:product][:description], :category => params[:product][:box_id], :user_id => current_user.id}))
しかし、エラー user can't be blank が表示されます。実際、私の説明とカテゴリも保存されていません。これはこれを行う正しい方法ですか。古いオブジェクトの属性をコピーし、それらのいくつかを変更する別の方法。