Hola chicos Ejecutar una aplicación sinatra con mongomapper. Tengo modelos llamados Película (Documento) y la tapa (EmbeddedDocument) .I embed cubre en películas usando¿Cómo elimino un documento incrustado en mongomapper?
@movie.covers << @cover
@movie.save
Esto funciona muy bien. cuando toco @ movies.covers Obtuve la matriz de documentos incrustados. Pero no puedo destruir el documento incrustado. Intenté algo como esto
@movie.covers.each do |c|
c.destroy
end
NoMethodError: undefined method `destroy' for #<Cover:0xb7b20734>
from (irb):5
from /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.6.8/lib/mongo_mapper/associations/proxy.rb:85:in `call'
from /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.6.8/lib/mongo_mapper/associations/proxy.rb:85:in `method_missing'
from /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.6.8/lib/mongo_mapper/associations/proxy.rb:85:in `each'
from /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.6.8/lib/mongo_mapper/associations/proxy.rb:85:in `send'
from /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.6.8/lib/mongo_mapper/associations/proxy.rb:85:in `method_missing'
from (irb):4
from :0
¿Puede alguien temme cómo destruirlo? Sería genial si alguien me aclara cómo actualizar el documento incrustado.
Gracias pzol. Me ayudó. Sería muy útil si tienes en cuenta cómo puedo actualizar las portadas. – Deepak
Carga la película. Las cubiertas son una matriz, por lo que debe elegir una, cambiar sus campos y luego guardar: Por ejemplo @movie = Movie.find (: first) @ movie.covers [0] .name = "updated name" @ movie.save –