嗨,夥計們我用mongomapper運行sinatra應用程序。我有稱爲電影(文檔)和封面(EmbeddedDocument)的模型。我將封面嵌入到使用的電影中。如何刪除mongomapper中的嵌入文檔?
@movie.covers << @cover
@movie.save
This works great。 hit @ movies.covers我得到了嵌入文檔的數組。 但我無法銷燬嵌入式文檔。我試過這樣的事情
@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
任何人都可以temme如何摧毀它?如果有人啓發我如何更新嵌入式文檔,這將是非常好的。
謝謝pzol。它幫助了我。如果你不知道如何更新封面,這將是非常有幫助的。 – Deepak 2009-12-21 05:00:28
您加載電影。蓋是一個數組,所以你需要選擇一個,改變其字段,然後保存: 例如 @movie = Movie.find(:第一) @ movie.covers [0]。名稱=「更新的名稱」 @ movie.save – 2009-12-21 18:33:54