我的网站主机是Heroku,它不允许将文件保存到本地文件系统。因此,我使用载波将我的文件存储到Amazon上。
在控制台中,我注意到当我这样做时:
Photo.last.attachment.url它返回:
=> "https://foobar.s3.amazonaws.com/uploads/users/1/photos/7/foo.jpg" 不出所料。但是,控制台中的这个过程(返回值)需要2-3秒。我的猜测是它试图访问S3。甚至最糟糕的是,当我加载一个带有几张照片的网页时,需要很长时间才能加载。
有人提到,由于我正在通过"Photo.last.attachment.url".远程存储文件,所以我应该缓存来自S3的结果。
这意味着,在我的db中,我需要有两列:
:附件和:attachment_url
附件将用于载波上传器对象,:attachment_url将直接链接到S3文件。
我该这么做吗?还有更好的选择吗?
发布于 2011-04-25 13:06:07
这是修正了最近版本的载波。最好不要缓存,URL创建很便宜。创建URL时检查文件是Fog的一种行为。现在的行为就是简单地给出链接。您可以看到这样的讨论:https://github.com/jnicklas/carrierwave/issues/289和https://github.com/jnicklas/carrierwave/issues/261
发布于 2011-04-12 12:55:57
我会做缓存。我们已经使用剪纸做了类似的方法。
或者,您可以缓存使用URLS的视图(部分)。
https://stackoverflow.com/questions/5634496
复制相似问题