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

Rob*_*Rob 7 caching ruby-on-rails

我已经实现了这个解决方案,以帮助防止浏览器页面缓存,基于如何防止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
Run Code Online (Sandbox Code Playgroud)

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

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

小智 1

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