在铁轨中提供图像

时间:2015-03-17 12:57:14

标签: ruby-on-rails ruby asset-pipeline assets

对于我的应用的每个版本,我都会将资源上传到云端CDN,并且网站上的图片会像imagename-somehash一样加载。

我有很大的静态图像,比如轮播图像,它们不会经常变化或根本不变化。因此,即使应用程序发生变化,也可以保留以前访问过该网站的客户端的缓存。

如何做到这一点?我在app/assets文件夹下的所有图片都会以imagename-somehash格式上传到CDN,因此图片会随应用的每个版本而变化。

我正在使用rails 4.2。这可能吗?

2 个答案:

答案 0 :(得分:1)

在rails指南中有一篇文章What is Fingerprinting and Why Should I Care?,它提供了有关文件末尾的哈希以及它如何工作的一些见解。 检查您的环境文件。在制作中,您可能希望config.assets.digest为真。

答案 1 :(得分:0)

您可以将这些图像放在公共文件夹中,并可以在这些图像的视图中提及完整的网址

或者你也可以把它放在

vendor/assets/images

但在这种情况下,您必须禁用预编译路径

如果您只想提供CDN中的某些资产,可以使用custom:host选项作为资产助手,它会覆盖config.action_controller.asset_host中设置的值。

 <%= asset_path 'image.png', host: 'mycdnsubdomain.fictional-cdn.com' %>