我试图按照https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Recreate-and-reprocess-your-files-stored-on-fog说明,但我得到的错误。我的文件,我使用carrierwave_backgrounder所以我需要这些指令立即处理称为hat.jpg
carrierwave新闻背景S3 recreate_versions
。
with_avatar.each do |instance|
begin
instance.process_avatar_upload = true
instance.avatar.cache_stored_file!
instance.avatar.retrieve_from_cache!(instance.avatar.cache_name)
instance.avatar.recreate_versions!
instance.save!
rescue => e
Rails.logger.info("ERROR: UserAvatar: #{instance.id} -> #{e}")
end
end
所以,我一次试着在我的控制台一行。如果我设置process_avatar_upload = true,则下一行失败
undefined method `cached?' for nil:NilClass
如果我运行相同的命令,我再次得到
undefined method `content_length' for nil:NilClass
最后,如果我跑第三次,它似乎工作。但是,当我到达recreate_versions!我得到这个:
No such file or directory [my file path]/uploads/tmp/1454615129-9112-7053/square_hat.jpg
它是正确的,没有广场,因为这就是我想要创建。
我怎样才能重新我的S3版本?我有很多人要做。谢谢。
好吧,所以我改变了只使用上述两行。我现在也在使用主人。我删除了我使用的from_versions。所有这些都允许我重新创建_version。谢谢! – alassiter