0

У меня есть статические файлы, которые загружаются с помощью Thin в моем приложении Rails 3. Для этих файлов нет маршрута, они просто привязаны напрямую по URL-адресу. Однако кажется, что файл кэшируется. Я не уверен, происходит ли кэширование из-за веб-сервера (Thin) или из-за браузера (Chrome).Как отключить статическое кэширование файлов в Rails 3 + Thin на Windows

Есть ли способ отключить статическое кэширование файлов в Rails 3 или Thin на Windows?

ответ

0

Чтобы заставить кэшированием от использования config.action_controller.perform_caching = false

Другие варианты, чтобы попытаться проверить

config.serve_static_assets = false 

config.static_cache_control = "public, max-age=0" 

config.assets.digest = false 

https://devcenter.heroku.com/articles/rack-cache-memcached-static-assets-rails31#serve_static_assets


Чтобы отключить кэширование данных, вы можете попробовать

application_c ontroller.rb ..

before_filter :set_cache_buster 

    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 

кредит https://stackoverflow.com/a/748646/643500


Для конфигурации сервера, вы можете изменить заголовок кэша, как:

Для Apache:

<LocationMatch "^/assets/.*$"> 
    Header unset ETag 
    FileETag None 
    # RFC says only cache for 1 year 
    ExpiresActive On 
    ExpiresDefault "access plus 1 year" 
</LocationMatch> 

http://guides.rubyonrails.org/asset_pipeline.html