如何从Rails缓存破坏中豁免图像?

时间:2015-04-24 13:29:42

标签: ruby-on-rails caching

我已根据问题How to prevent browser page caching in Rails实施此解决方案以帮助阻止浏览器页面缓存:

def set_cache_buster
    response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
    response.headers["Pragma"] = "no-cache"
    response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end

虽然这确实有效,但感觉有点像用大锤杀死一只蚂蚁;一切都是防止缓存,包括图像(例如,汉堡包图标,或其他类似的小图像)。当从一个页面导航到另一个页面时,这会导致在重新加载这些图像时出现空白内容的难看的闪烁。

有没有办法可以阻止一般缓存,但是可以免除某些资产?

1 个答案:

答案 0 :(得分:1)

很抱歉错过了标签,但是我看到nginx可以是一个完美的答案 - 只需使用nginx提供静态内容(images / css / etc)并将所有其他请求传递给后端(ruby)