Ruby on rails 3.1 在mongoid中删除与的子关系有多个且属于

Ruby on rails 3.1 在mongoid中删除与的子关系有多个且属于,ruby-on-rails-3.1,mongoid,model-associations,Ruby On Rails 3.1,Mongoid,Model Associations,我是rails新手,尝试使用Mongoid找出关联 我有一个图片模型,可以有多种颜色,一种颜色可以属于许多图片。查询应该在两个方向上工作(即图片->颜色和颜色->图片),所以我决定使用has\u many\u和\u归属于协会 Class Picture include Mongoid::Document has_many_and_belongs_to :colors 现在是标签模型 Class Color include Mongoid::Document has_many_a

我是rails新手,尝试使用Mongoid找出关联

我有一个图片模型,可以有多种颜色,一种颜色可以属于许多图片。查询应该在两个方向上工作(即图片->颜色和颜色->图片),所以我决定使用has\u many\u和\u归属于协会

Class Picture
  include Mongoid::Document
  has_many_and_belongs_to :colors
现在是标签模型

Class Color
  include Mongoid::Document
  has_many_and_belongs_to :pictures
我想对其进行设置,以便在删除与某一颜色相关的所有图片时,该颜色也会被删除。我试着使用destroy和delete,但它们似乎都不起作用

p1 = Picture.new
p2 = Picture.new
c = Color.new
p1.colors.push(c)
p2.colors.push(c)

p1.delete # <-- c is still associated with p2. This should not delete c
p2.delete # <-- c has no more associations. It should automatically be deleted now
p1=Picture.new
p2=图片。新
c=颜色。新
p1.颜色推送(c)
p2.颜色。推送(c)
p1.删除#