Варианты ActiveStorage и различия версий Carrierwave - PullRequest
0 голосов
/ 05 мая 2020

В Carrierwave вы должны использовать версии, которые будут созданы при создании вложения объекта. Эти версии будут храниться в хорошо организованных папках для каждой модели.

В ActiveStorage варианты создаются, когда вызывается присоединенный вариант модели, но не при создании присоединения модели.

Как создать варианты ActiveStorage при создании вложения?

Не могу найти никакой документации по этому вопросу. Самое близкое, что я нашел, - из этой статьи

class VariantGeneratorJob < ApplicationJob
  def perform(upload_id)
    upload = Upload.find(upload_id)
    return unless upload&.image&.attached?
    variant = upload.image.variant(options)

    # This is what triggers the actual transform/cache process
    was_processed = variant.processed
    Rails.logger.info "Processed variant for #{upload.id}" if was_processed
  end
end
...