#ruby-on-rails-3.1 #mongoid #model-associations
#ruby-on-rails-3.1 #mongoid #модель-ассоциации
Вопрос:
Я новичок в rails и пытаюсь выяснить ассоциации с помощью Mongoid.
У меня есть модель изображения, которая может иметь много цветов, и один цвет может принадлежать многим изображениям. Запросы должны работать в обоих направлениях (например, Picture -> Colors и Color -> Pictures), поэтому я решил использовать ассоциацию has_many_and_belongs_to.
Class Picture
include Mongoid::Document
has_many_and_belongs_to :colors
Теперь модель тегов
Class Color
include Mongoid::Document
has_many_and_belongs_to :pictures
Я хотел бы настроить его так, чтобы при удалении всех изображений, связанных с цветом, цвет также удалялся. Я пробовал зависимые с уничтожением и удалением, но ни один из них, похоже, не работает.
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
Может ли это автоматически обрабатываться rails? Если нет, как я могу написать обратные вызовы delete / destroy, чтобы это произошло?