Ruby on rails 预编译上载的资产
我有一个rails 3.1应用程序,用户可以在其中上传图片。我将它们存储在/assets/images中,因为这是image_标记查找的路径,而不是public/images 在开发过程中一切正常,但我部署到Heroku,它给了我以下错误: ActionView::Template::错误(未预编译image\u name.jpeg) 处理这种情况的正确方法是什么?上传后有没有办法编译图像,或者我应该将它们存储在其他地方?Ruby on rails 预编译上载的资产,ruby-on-rails,heroku,assets,precompiled,Ruby On Rails,Heroku,Assets,Precompiled,我有一个rails 3.1应用程序,用户可以在其中上传图片。我将它们存储在/assets/images中,因为这是image_标记查找的路径,而不是public/images 在开发过程中一切正常,但我部署到Heroku,它给了我以下错误: ActionView::Template::错误(未预编译image\u name.jpeg) 处理这种情况的正确方法是什么?上传后有没有办法编译图像,或者我应该将它们存储在其他地方? 您不能使用Heroku上的文件系统来存储上传的内容 您不应该对上载的图像
- 您不能使用Heroku上的文件系统来存储上传的内容
- 您不应该对上载的图像使用
,因为这假定它正在查看文件系统。如果使用image\u path
,则必须传递完整的URL,而不仅仅是图像名称image\u标记
- 您不能使用Heroku上的文件系统来存储上传的内容
- 您不应该对上载的图像使用
,因为这假定它正在查看文件系统。如果使用image\u path
,则必须传递完整的URL,而不仅仅是图像名称image\u标记
RAILS\u ENV=production bundle exec rake资产:预编译
要在本地编译您的资产,请添加到git,并推送到heroku,但以后不能通过heroku上的应用程序添加图像。如果您将它们上传到
/temp
文件夹,它们将在那里停留一段时间,或者直到您重新部署/更新代码。我相信。您是否使用carrierwave上传图像?使用载波,您可以相当轻松地将它们存储在amazon S3上。其他解决方案也具有易于访问的S3存储
Heroku不允许您在文件系统中存储文件。跑
RAILS\u ENV=production bundle exec rake资产:预编译
要在本地编译您的资产,请添加到git,并推送到heroku,但以后不能通过heroku上的应用程序添加图像。如果您将它们上传到/temp
文件夹,它们将在那里停留一段时间,或者直到您重新部署/更新代码