私はmongomapperでsinatraアプリケーションを実行します。Movie(Document)とCover(EmbeddedDocument)というモデルがあります。を使用して映画にカバーを埋め込みます
@movie.covers << @cover
@movie.save
これはうまくいきます。
@ 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
それを破壊する方法は?誰かが埋め込まれたドキュメントを更新する方法を教えてくれたら素晴らしいと思います。