I’m working on a project which has a
lessons entity and a
cards entity. Cards can belong to lessons, or they can exist on their own. In the cases where cards do belong to a lesson, the two entities are connected through a join table called
I’m in a position where if I delete a lesson which has cards in it, the association in
cards_lessons is deleted but the cards themselves still exist. I want the cards to be deleted too.
I think there’s probably something obvious I’m not doing here but can’t spot what it is? Here’s my schema setup:
schema "lessons" do has_many(:cards_lessons, CardLesson, on_delete: :delete_all, on_replace: :delete) has_many( :cards, through: [:cards_lessons, :cards], on_delete: :delete_all, on_replace: :delete ) end schema "cards" do has_one(:cards_lessons, CardLesson, on_replace: :delete, on_delete: :delete_all) has_one(:lesson, through: [:cards_lessons, :lesson]) end schema "cards_lessons" do belongs_to(:card, Card) belongs_to(:lesson, Lesson) end
Thanks a lot