Heroku上的“无路由匹配”回形针和S3

时间:2010-08-26 13:58:45

标签: 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/missing.png" with {:method=>:get}):

注意它是如何使用'missing'作为文件名,并使用'.png'作为扩展名,即使该文件是'.jpg'。

根据我发现的各种博文和教程(包括Heroku的文档),我尝试了url:path选项与has_attached_file的多种组合,但似乎都没有

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

3 个答案:

答案 0 :(得分:1)

发现问题:需要更新数据库。

heroku rake:db:migrate
heroku restart

我已经做了我认为已经完成同样事情的事情:heroku rake db:schema:load,但也许这不起作用或在此过程中出现问题。

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

答案 1 :(得分:1)

我刚才遇到了同样的问题。在开发中很好,上传文件到pr3但不会显示上传图像的URL。运行

heroku restart

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

感谢您的信息!

答案 2 :(得分:0)

您可以粘贴表单中的代码吗?我猜你忘记将:html => {:multipart => true})添加到 form_for 标记