Rails - Ajude a entender como usar: dependente =>: destroy

Eu tenho os seguintes modelos:

User (id)
Project (id)
Permission (project_id, user_id)
Thread (project_id)
ThreadParticipation (thread_id, user_id)

Então, está funcionando bem, o problema é esse. Quando um usuário sai ou é removido de um projeto, eu preciso que todas as ThreadParticipation para esse projeto sejam excluídas.

Exemplo, portanto, se o usuário (15) deixar o projeto (3) excluindo a permissão (user_id => 15, project_id => 3), preciso que os trilhos excluam automaticamente todos os registros ThreadParticipation relacionados (onde ThreadParticipation através do thread pertence ao project_id 3 e ThreadParticipation.user_id = 15.

Eu tentei isso, mas não está fazendo nada:

has_many :thread_participations, :foreign_key => :user_id, :dependent => :destroy

Pensamentos? obrigado

questionAnswers(3)

yourAnswerToTheQuestion