我的关联选项似乎没有得到兑现。
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
,但我应该可以在连接模型上使用它吧?