Я получаю следующую ошибку при уничтожении моей модели с прикрепленным к ней CarrierWaveUploader:
#<NoMethodError: undefined method 'id' for nil:NilClass>
Моя модель выглядит следующим образом: Parent> Child> Uploader:
class Parent < ApplicationRecord
belongs_to :user
has_many :children, dependent: :destroy
end
class Children < ApplicationRecord
belongs_to :parent
has_one :user, :through => :parent
mount_base64_uploader :file, ChildUploader
end
И строка с ошибкой в моем загрузчике выглядит следующим образом:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{model.user.id}/#{mounted_as}/#{model.id}"
end
Я не хочу использовать сложный обходной путь. Кажется, что загрузчик не уничтожается должным образом и все еще пытается получить доступ к store_dir, когда родительский объект уже удален. Какой самый простой и чистый способ исправить это?