HMT collection_singular_ids= deletion of join models is direct, no destroy callbacks are triggered

前端 未结 3 669
梦如初夏
梦如初夏 2021-02-06 02:24

Just ran into an issue with a has_many :through association and after/before-destroy callbacks not being triggered.

Say, I have users, groups, and an intermediate relati

3条回答
  •  醉话见心
    2021-02-06 03:10

    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.

提交回复
热议问题