Rails 2.3.8。我有三个模型,用户(User),资源(Source)和订阅(Subscription)。
我的问题是,当订阅由于加入模型而被自动删除时,我如何触发此回调函数?
User attr_accessible :source_ids
has_many :subscriptions
has_many :sources, :through => :subscriptions
Source has_many :subscriptions
Subscription belongs_to :user
belongs_to :source
我有一个接口,允许用户编辑他们对某个资源的订阅。它会收集资源ID,并根据收集的结果创建或删除订阅。但现在遇到了一个问题:
"自动删除连接模型是直接的,不会触发destroy回调函数。"
订阅记录被删除了,而非销毁。我在订阅模型中设置了回调函数,但该函数并没有被触发:
before_destroy do |subscription|
[Some irrelevant object not to be mentioned].destroy
end
我的问题是,当订阅由于加入模型而被自动删除时,我如何触发此回调函数?
your_custom_method
应该在使用after_remove
的同一个文件中定义,而不是像你描述的那样在“用户模型”中定义。 - Joshua Pinter