Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 ';没有路由匹配';Heroku上有回形针和S3_Amazon S3_Heroku_Paperclip - Fatal编程技术网

Amazon s3 ';没有路由匹配';Heroku上有回形针和S3

Amazon s3 ';没有路由匹配';Heroku上有回形针和S3,amazon-s3,heroku,paperclip,Amazon S3,Heroku,Paperclip,在我的本地开发系统上设置回形针以使用S3很简单。然而,我无法让它在Heroku上工作 文件上载成功: [paperclip] Saving attachments. [paperclip] saving photos/2/small.jpg [paperclip] saving photos/2/original.jpg 但是,尝试链接到上载的视图会出现路由错误: ActionController::RoutingError (No route matches "/photos/small/m

在我的本地开发系统上设置回形针以使用S3很简单。然而,我无法让它在Heroku上工作

文件上载成功:

[paperclip] Saving attachments.
[paperclip] saving photos/2/small.jpg
[paperclip] saving photos/2/original.jpg
但是,尝试链接到上载的视图会出现路由错误:

ActionController::RoutingError (No route matches "/photos/small/missing.png" with {:method=>:get}):
请注意,它是如何使用“missing”作为文件名的,并且使用“.png”作为扩展名的,即使文件是“.jpg”

根据我找到的各种博客帖子和教程(包括Heroku的文档),我尝试了多种组合:
url
:path
选项和
has_attached\u file
,但似乎都不起作用


在Heroku上使用带有S3的回形针的正确步骤是什么?

您能从表单中粘贴代码吗?我猜您已经忘记将
:html=>{:multipart=>true}
添加到表单_for标签发现问题:需要更新数据库

heroku rake:db:migrate
heroku restart
我已经做了我认为应该已经完成的事情:
heroku-rake-db:schema:load
,但这可能不起作用,或者在这个过程中出了问题


无论如何,这样做,再加上删除另一个博客上建议的对attr_accessor的调用,解决了这个问题。

我也遇到了同样的问题。在dev中运行良好,在prod中将文件上载到s3,但不会显示上载图像的URL。运行

heroku restart
是什么把它修好的。无需运行db:migrate(当然,除非您需要迁移数据库)


谢谢你的信息

谢谢你的回复,但是不,那不是答案。我的表单设置正确,正如我所说的,在我的开发系统上一切都很好。这个问题似乎只发生在Heroku身上。好的,我明白了。您能否确认图像是否正在上载到s3生产存储桶?您可以使用s3Fox(firefox插件)来实现这一点。另外,您使用的是S3.yml文件还是配置变量?我安装了S3Fox。我如何判断图片是否真的上传了?我使用的是S3.yml。我认为这个具体的问题实际上是由于我试图解决一个不同的问题。详情请参阅。