私のモデルは次のとおりです。
class Campaign < ActiveRecord::Base
has_many :days, dependent: :destroy
end
class Day < ActiveRecord::Base
belongs_to :campaign
has_many :time_slots
before_destroy { time_slots.destroy_all }
end
class TimeSlot < ActiveRecord::Base
belongs_to :day
has_and_belongs_to_many :users
end
キャンペーンを削除して、関連するすべての日とタイムスロットを削除できるようにしたいと考えています。time_slot_users 結合テーブルのレコードも削除したいと思います。
を使用しようとしましdependent: :destroy
たが、カスケードしていないようですか? before_destroy
コールバックを使用する必要がありますか?
destroy
とはどう違いdestroy_all
ますか?http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#label-Delete+or+destroy%3Fを読みましたが、違いはまだあいまいです。