我刚刚从carrierwave_backgrounder 切换到carrierwave_direct。我已经设置了carrierwave_direct 并且可以正常工作。即主文件正在上传,可以在视图中显示。但是,我的上传器版本没有被创建。
以下是我的工作:
class ProcessReceiptJob < ApplicationJob
queue_as :process_receipt
def perform(expense_id, key)
expense = Expense.find expense_id
uploader = expense.receipt
expense.key = key
expense.remote_receipt_url = uploader.direct_fog_url(with_path: true)
expense.save!
# expense.recreate_versions!
end
after_perform do |job|
expense = Expense.find(job.arguments.first)
expense.update_column :receipt_processing, false
end
end
carrierwave_direct 究竟何时处理版本——或者,carrierwave 何时指示处理版本?我假设使用费用.remote_receipt_url 加载原始图像,然后调用保存!触发上传者处理版本。那是对的吗?
无论如何,我的原始图像是通过后台作业上传的——但是,没有创建/上传版本。
我是否需要“recreate_versions”,即使它们以前不存在?在指向源文件后,我是否需要以某种方式显式处理版本,还是应该自动处理?