SystemStackError после уничтожения модели, имеющей ActiveStorage + act_as_paranoid - Rails 5.2 - PullRequest
0 голосов
/ 05 января 2019

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Проблема уже зарегистрирована здесь , но чтобы привлечь больше внимания к большому сообществу, я публикую эту проблему здесь.

У меня супер простая настройка для модели с использованием активного хранилища с act_as_paranoid

class FileUpload < ApplicationRecord
  acts_as_paranoid
  has_one_attached :file
end

Когда модель уничтожается, она входит в бесконечный цикл. Вы когда-нибудь сталкивались с такой проблемой? Есть ли у вас решение?

1 Ответ

0 голосов
/ 09 января 2019

Используйте

  has_one_attached :file, dependent: :purge_now

При уничтожении любой записи будет запланировано задание на уничтожение зависимого файла для данной записи.

Итак, когда задание пытается удалить файл, rails не может найти запись, так как она уже была удалена.

Итак, когда мы используем :purge_now и уничтожаем запись, она удаляет зависимый файл с записью вместо планирования задания на удаление.

...