我使用Carrierwave以相当标准的方式管理图片文件的上传,例如徽标,海报和用户图片。
我发现我可以上传图片没有新问题或编辑。我正在使用Heroku,因此需要在生产和舞台上使用ASW S3。我的上传器文件中有一个开关来处理这个问题。
if ['development', 'test'].include?(Rails.env)
storage :file
else
storage :fog
end
这在开发时效果很好,但是当我切换到生产时,如果用户从模型中编辑记录而没有附加文件,整个过程就会停止并超时。
我还可以通过将存储更改为:fog
来复制此问题。
我已经搜索过,只是真的遇到了一个与我所看到的非常接近的那个:6841798
希望有人之前已经看过这个并且可以解释一下。
答案 0 :(得分:0)
@benjamin
感谢您的跟进。
以下是所有代码的gist。
正如我所知,当我在没有海报的情况下更新项目时,这确实存在问题。
如果我将开发存储(image_uploader.rb第16行)更改为:file,那么它在本地工作正常。
此外,如果我注释掉表格(edit.html.haml第12-23行),那么它也可以正常工作。
这似乎与情绪from this post一致,但我无法确定交易的内容。我的猜测是,当您尝试上传到Fog时,Carrier Wave会执行一些回调,如果没有安装文件,它会在某处进入无限循环。
希望你能够解释一下。
干杯,
路
答案 1 :(得分:0)
我已成功解决了这个问题 <{1}}来自模型,并评论
attr_accessible remote_poster_url
这使我能够处理添加没有海报的项目,再次编辑海报信息,添加海报,然后更新更多信息而不挂起的所有情况。
希望这可以帮助可能遇到此问题的其他人。