У меня есть приложение rails, которое использует Carrierwave и carrierwave_backgrounder gem для обработки и хранения изображений в заднем плане (я использую resque).
Ошибка в вопросе: CarrierWave :: Workers :: StoreAsset NameError: неинициализированная константа Attachment (см. Изображение ошибки ниже).
Я действительно мог бы использовать некоторую помощь с Эта проблема. Я проверил в Интернете и попробовал все, что мог придумать, но не могу это исправить.
У меня есть модель Attachment со следующим кодом:
class Attachment < ApplicationRecord
include Indestructible
include FileType
belongs_to :attachable, polymorphic: true
mount_uploader :file, FileUploader
store_in_background :file
attr_accessor :width, :height
before_save :direct_upload
def is_image?
extensions = %w(jpg jpeg gif png tiff bmp)
extensions.include? self.extension
end
def extension
self.file.try(:extension).try(:downcase)
end
def belongs_to_foto?
self.attachable_type == "Photo"
end
protected
# Skipping damn carrierwave_backgrounder when .pdf
def direct_upload
self.process_file_upload = true if self.extension == 'pdf'
end
end
Я продолжаю получать эта проблема в моем журнале восстановления:
Файл заканчивается сохранением локально при загрузке / tmp, но никогда не очищается отсюда и сохраняется в s3 как это должно быть с store_in_background. Странно то, что эта ошибка происходит случайно. Он работает нормально, может быть, 30-50% времени и сохраняется в s3, но большую часть времени я получаю эту ошибку, и она застревает в моем локальном хранилище сервера. Что является огромной проблемой, как вы можете себе представить. Мы получаем много загрузок изображений в нашем приложении.
Что может быть причиной этого? Я буду очень признателен за любую помощь или комментарии, у нас была эта проблема в течение нескольких месяцев. Спасибо.