ocumento de clone profundo com associações incorporad

Como você clonaria profundamente um documento no MongoDB (mongoid)

Eu tentei algo assim;

original = Car.find(old_id)
@car = original.clone
@car._id = BSON::ObjectId.new

Mas eu tenho problemas para desserializar os valores posteriorment

Como posso criar um clone profundo com todos os atributos de documentos, exceto o _id?

Edit: Depois de seguir o exemplo de Zachary, tive alguns problemas com uma classe de serialização personalizada para os documentos duplicado

class OptionHash
  include Mongoid::Fields::Serializable

  # Convert the keys from Strings to Symbols
  def deserialize(object)
    object.symbolize_keys!
  end

  # Convert values into Booleans
  def serialize(object)
    object.each do |key, value|
    object[key] = Boolean::MAPPINGS[value]
  end
end

Object é nulo para documentos duplicados. Car.find (old_id) .attributes realmente não inclui o campo com a serialização personalizada, por que isso e como posso incluí-lo?

questionAnswers(2)

yourAnswerToTheQuestion