HMT collection_singular_ids= deletion of join models is direct, no destroy callbacks are triggered
After carefully examining the API docs, it turns out has_many
and has_and_belongs_to_many
("HABTM") have a few options just for this case:
before_add
after_add
before_remove
after_remove
class User < ActiveRecord::Base
has_many :groups, :through => :memberships, :after_remove => :your_custom_method
end
Judging by how many responses I got, this must not be a very well documented/used feature.
Just noting it here for myself and others who may stumble like I did.