私のプロジェクトでは、自己参照の関連付けがあります。
私はユーザーモデルを持っています:
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
2人のユーザーが互いにピアである場合、データベースには明らかに2つのレコードがあります。
1人のユーザーが関係を終了することを選択した場合、関係の片側だけでなく、両方のレコードを破棄するようにしたいと思います。
コントローラにリレーションシップを2回ロードする(リレーションシップの両側に1回ずつ)よりも、これを実行するためのより良い方法はありますか?