对于我的应用的每个版本,我都会将资源上传到云端CDN,并且网站上的图片会像imagename-somehash
一样加载。
我有很大的静态图像,比如轮播图像,它们不会经常变化或根本不变化。因此,即使应用程序发生变化,也可以保留以前访问过该网站的客户端的缓存。
如何做到这一点?我在app/assets
文件夹下的所有图片都会以imagename-somehash
格式上传到CDN,因此图片会随应用的每个版本而变化。
我正在使用rails 4.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' %>