Ruby on rail – child object can not delete parent object in before_destroy callback

I'm building a Calendar Rails app.
It has events that can contain one or more recurring events.
For example, "Runs 100 times every Monday."

If a user deletes all recurring events, I want the main event to be deleted as well.

1 class RecurringEvent <ApplicationRecord
27 belongs_to: event
35 before_destroy: delete_main_event_if_last_current

118 def delete_main_event_if_last_current
119 sets "# {event.recurring_events.size} left"
120 event.destroy if event.recurring_events.empty?
121 end

My test

            87 it "Delete main event when the last recurring event is deleted", focus: true do
88 event_id = @ event.id
89 @ event.recurring_events.each {| re | re.destroy! }
90 (Event.where (id: event_id) .count) .to eq 0
91 end

This results in this issue, but the main event is not clear.

Recurring event
Recurring events
5 left
5 left
5 left
5 left
5 left

Any idea why I do not delete the recurring events?

With byebug:

[117, 126]    in /app/app/models/recurring_event.rb
117
118: def delete_main_event_if_last_current
119: "# {event.recurring_events.size} remains left"
120: event.destroy if event.recurring_events.empty?
121: byebug
=> 122: end
123:
124: def day_as_changed
125: update_columns (
126: text_changed: (Saved_change_to_description? || Saved_change_to_title?),
(byebug) event.recurring_events.size
5
(byebug) event.recurring_events.first.destroy
zero
(byebug) event.recurring_events.size
5