mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-01 21:47:16 +00:00
Since cd3add960e Spree soft-deletes products and as such the models not destroyed but updated setting a value for the `deleted_at` field. This turns what used to be deletes into updates thus triggering AR's update callbacks instead of the destroy ones. As a result, this bypasses the logic to refresh the products cache on destroy and hits the `after_save` callback. Furthermore, since act_as_paranoid (the soft-delete gem Spree uses) uses a default scope to avoid retrieving soft-deleted records we need to purposefully fetch them in order to refresh the cache.