If you want to keep to the simple has_and_belongs_to_many
association, you could add this:
class Person < ActiveRecord::Base
has_and_belongs_to_many :posts
before_destroy { posts.clear }
end
Which will clear the join table of all entries of that person
. Note: This only removes records from the join table, it does not destroy the posts
(which makes sense if it is a bi-direction has_and_belongs_to_many
because the post
might be referenced by other persons
).
But guessing from your names (Person
and Post
) I would assume that you can probably get away with a Person has_many :posts
and a Post belongs_to :person
in which case you can use the :dependent => :destroy
on the has_many
association.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…