2015-04-24 5 views
7

Ich habe diese Lösung implementiert, um Browser-Seiten-Caching, bezogen auf die Frage How to prevent browser page caching in Rails zu verhindern:Wie kann ich Bilder von Rails Cache-Busting befreien?

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 

Während dies sicherlich arbeiten, es fühlt sich ein bisschen wie zu töten eine Ameise mit einem Vorschlaghammer; alles wird verhindert, Caching, einschließlich Bilder (z. B. ein Hamburger-Symbol oder andere kleine Bilder wie diese). Beim Navigieren von Seite zu Seite führt dies zu unschönen Blitzen von leerem Inhalt, während diese Bilder neu geladen werden.

Gibt es eine Möglichkeit, die allgemeine Zwischenspeicherung zu verhindern, aber bestimmte Assets ausnehmen?

+0

Sind Sie versuchen, dieses Problem in der Entwicklung oder Produktion zu lösen? Wenn letzteres, welche Art von Produktionsumgebung ist das? Heroku? –

+0

Ich sehe das Problem in der Entwicklung, hatte aber nicht daran gedacht, im Produktionsmodus zu laufen und zu sehen, was passiert. Wird das einen Wirbel geben. –

Antwort

1

Es tut uns verpassen auf Tags, aber wie ich nginx sehen eine perfekte Antwort auf es sein kann - dienen nur statische Inhalte (Bilder/CSS/etc) mit nginx und übergeben alle anderen Anfragen an Backend (Rubin)

Verwandte Themen