在我的项目中,我有一个自引用关联。
我有一个用户模型:
class User < ActiveRecord::Base
has_many :relationships, :dependent => :destroy
has_many :peers, :through => :relationships
end
和一个关系模型:
class Relationship < ActiveRecord::Base
belongs_to :user
belongs_to :peer, :class_name => "User"
end
当两个用户彼此对等时,数据库中显然有两条记录。
当一个用户选择结束一段关系时,我希望这会破坏两条记录 - 而不仅仅是关系的一侧。
有没有更好的方法来执行此操作,而不是在控制器中加载关系两次(关系的每一侧一次)?