重新创建版本 -carrierwave-fog-aws
Posted
技术标签:
【中文标题】重新创建版本 -carrierwave-fog-aws【英文标题】:recreate versions - 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 模型中。 可以添加回溯吗? 是否在只读服务器上? 【参考方案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 配置中发布更多详细信息时,我可以为您提供更多帮助。
【讨论】:
以上是关于重新创建版本 -carrierwave-fog-aws的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android M 或更高版本中在运行时更改权限时防止重新创建 Activity
Xcode 8 Pod 更新问题-由于主要版本更新而重新创建 CocoaPods [重复]