【问题标题】:recreate versions - carrierwave-fog-aws重新创建版本 -carrierwave-fog-aws
【发布时间】:2013-04-08 05:26:33
【问题描述】:

我正在尝试在我的模型中使用以下内容重新创建我上传的图像...

  Post.all.each do |ym| 
      ym.avatar.cache_stored_file! 
      ym.avatar.retrieve_from_cache!(ym.avatar.cache_name) 
      ym.avatar.recreate_versions! 
      ym.save! 
  end

不幸的是,我收到以下错误....

(undefined method `body' for nil:NilClass):

我的上传器名为 AvatarUploader,用于我的 Post 模型。有关如何解决此问题的任何建议?

【问题讨论】:

  • 我认为您应该将该代码放在上传器中,而不是 Post 模型中。
  • 可以添加回溯吗?
  • 是否在只读服务器上?

标签: ruby-on-rails amazon-s3 carrierwave fog recreate


【解决方案1】:

在只读服务器 (Heroku) 上使用异步处理时,我遇到了类似的问题。就我而言,定义文件大小时出现问题,我从雾文件类解决了猴子补丁def size

module CarrierWave
  module Storage
    class Fog < Abstract
      class File
        def size
          file.nil? ? 0 : file.content_length
        end
      end
    end
  end
end

如果问题仍然存在并且当您从回溯和 gems 配置中发布更多详细信息时,我可以为您提供更多帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 2018-06-13
    相关资源
    最近更新 更多