我正在使用Rails 3.2.6并使用carrierwave上传图像。当我上传图像时,它显示正常,其图像网址也运行良好。但是当我在heroku上推送下一个git commit时。
git push staging master
比我上传的所有图片都不显示且图像路径不起作用 为什么呢?
请任何人都知道问题在发生了什么。
Thnaks
答案 0 :(得分:1)
您是否使用s3(https://github.com/jnicklas/carrierwave#using-amazon-s3)设置了carrierwave? Heroku有一个只读文件系统(https://devcenter.heroku.com/articles/s3)。
答案 1 :(得分:1)
虽然您的上传工作正常 - 当您推送新代码或重启应用程序时,您将无法上传任何内容。
Heroku使用Ephemeral文件系统,因为每个dyno都会收到最初部署的代码的单独副本(slug),因此上传只会存在于处理上传的dyno上(https://devcenter.heroku.com/articles / DYNOS#临时文件系统)。
您需要使用外部持久性数据存储,如Amazon S3,Rackspace Files等 - 幸运的是,使用Carrierwave更新它以使用它,因为它支持开箱即用。