私は次のモデルを持っています:
User (id)
Project (id)
Permission (project_id, user_id)
Thread (project_id)
ThreadParticipation (thread_id, user_id)
それはうまくいっていますが、問題はこれです。ユーザーがプロジェクトから離れたり削除されたりした場合、そのプロジェクトのすべての ThreadParticipation を削除する必要があります。
たとえば、user(15) がパーミッション (user_id =>15、project_id => 3) を削除して project(3) を離れた場合、関連するすべての ThreadParticipation レコードを自動的に削除するレールが必要です (スレッドを介した ThreadParticipation は project_id に属します)。 3、および ThreadParticipation.user_id = 15。
私はこれを試しましたが、何もしていません:
has_many :thread_participations, :foreign_key => :user_id, :dependent => :destroy
考え?ありがとう