使用资产管道缓存清单

时间:2011-10-19 17:53:58

标签: ruby-on-rails-3 html5 asset-pipeline cache-manifest

使用rails资产管道获得html5缓存清单的最佳方法是什么?我正在考虑向app / assets添加一个erb文件,其中包含所有资产的路径。这可行,但有一些问题:

  • 如何增加版本号?
  • 如何确保正确设置http内容类型?

2 个答案:

答案 0 :(得分:1)

以下是我们现在如何在应用上执行此操作:

  • 要处理缓存清单文件的生成,我们正在使用Rack::Offline
  • 然后,我们将其配置为指向,例如"/assets/application.css"
  • 在布局/视图中,我们没有将stylesheet_link_tagjavascript_include_tagimage_tag helpers用于可缓存资产,因此我们无法获取指向资产的链接哈希,例如"/assets/application-2345234...2344.css"

这是有效的,因为当资产被预编译时,rake assets:precompile:nondigest创建文件的版本而名称中没有哈希,然后Rack::Offline检查这些文件以生成新的清单(或不生成)。

答案 1 :(得分:-4)

Sprockets默认为您提供一个。

在您的一个环境配置中(/config/environments/development.rb)

config.assets.compress = false
config.assets.debug = false

并在你的html文件中:

<html manifest="manifest.yml">

运行

rake:precompile 

将为public / assets / manifest.yml

提供清单文件