2010-08-26 73 views
1

在我的本地开发系统上设置回形针以使用S3非常简单。但是,我无法在Heroku上使用它。'与Heroku上的回形针和S3无匹配路线'

的成功上传文件:

[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}): 

注意它是如何使用“丢失”的文件名并且即使该文件是'.jpg',也使用'.png'作为扩展名。

我已经尝试的多种组合:url:path根据不同的博客文章和教程我发现(包括Heroku的文档)选项与has_attached_file,但没有一个似乎工作。

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

回答

1

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

heroku rake:db:migrate 
heroku restart 

我已经做了我认为应该已经完成​​同样的事情:heroku rake db:schema:load,但也许不工作或出事了这一过程。

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

0

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

+0

感谢您的回复,但不,这不是答案。我的表单设置正确,正如我所说的,在我的开发系统中一切正常。这个问题似乎只发生在Heroku上。 – eksatx 2010-08-26 17:27:47

+0

好的,我明白了。你能否确认图像是否正在上传到你的s3生产桶中?你可以使用s3Fox(一个Firefox插件)来做到这一点。另外,你使用的是S3.yml文件还是config-vars? – stephenmurdoch 2010-08-26 17:54:19

+0

我安装了S3Fox。我如何判断图像是否实际上传?我正在使用S3.yml。 我觉得这个问题实际上是由我为了解决不同的问题而尝试的。有关详细信息,请参阅http://stackoverflow.com/questions/3580592/model-missing-required-attr-accessor-for-photo-file-name-when-uploading-with-pa。 – eksatx 2010-08-27 00:53:07

1

我刚刚有这个完全相同的问题。在开发中运行良好,在prod上将文件上传到s3,但不会显示上传图像的URL。运行

heroku restart 

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

感谢您的信息!