rails,查找用于缓存清除的增量编号

时间:2011-08-20 01:41:23

标签: ruby-on-rails ruby-on-rails-3

在rails中,我想找到一个增加的数字,或者至少随着每个部署或git commit / push的变化而增加。

我需要这个来缓存破坏CDN。

config.action_controller.asset_path = proc { |asset_path|
  "/rel-#{RELEASE_NUMBER}#{asset_path}"
}

有什么建议吗?感谢

2 个答案:

答案 0 :(得分:1)

喜欢什么?

def release_sha
  @release_sha ||= `git log -1 --pretty=format:%h 2>/dev/null`
end

使用这种方法可以做得更好,并获得不同文件夹/文件的SHA。

def release_sha(path=nil)
  @release_sha ||= {}
  @release_sha[path] ||= `git log -1 --pretty=format:%h #{path} 2>/dev/null`
end

然后将其称为release_sha('/public/images'),以获取该文件夹的最新SHA。

答案 1 :(得分:0)

只需使用当前时间戳(纪元)..

Time.now.usec

您可以将此值写入常量并将其放在config / initlaizers / cache_buster.rb中,例如使用脚本(或编写您自己的rake任务)。