рельсы: зависимый =>: уничтожить игнорируемый - PullRequest
2 голосов
/ 05 августа 2010

Моя опция ассоциации, кажется, не соблюдается.

class ClassRoom < ActiveRecord::Base
  has_many :class_assignments, :dependent => :destroy
  has_many :people, :through=>:class_assignments

class Person < ActiveRecord::Base
  has_many :class_assignments, :dependent => :destroy
  has_many :class_rooms, :through=>:class_assignments

class ClassAssignment < ActiveRecord::Base
  belongs_to :person
  belongs_to :class_room

То есть, когда удаляется либо человек, либо классная комната, запись в объединяющей таблице / модели также должна бытьудалено.

Тем не менее, ClassRoom.last.destroy уничтожает ClassRoom, но ничего из этого не связано ClassAssignments.

Я знаю, :dependent=>:destroy игнорируется при использовании :through, ноЯ должен быть в состоянии использовать его на модели соединения правильно?

1 Ответ

0 голосов
/ 05 августа 2010

попробуй

  class ClassRoom < ActiveRecord::Base 
  def before_destroy
    self.class_assignments.destroy_all
  end

то же самое для человека

...