1

Rails 3 アプリケーションで Thin を介してサーバー化された静的ファイルがあります。これらのファイルへのルートはありません。URL を介して直接参照されているだけです。ただし、ファイルがキャッシュされているようです。Web サーバー (Thin) が原因でキャッシュが発生しているのか、ブラウザー (Chrome) が原因でキャッシュが発生しているのかはわかりません。

Windows で Rails 3 または Thin で静的ファイル キャッシュを無効にする方法はありますか?

4

1 に答える 1

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_controller.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


サーバー構成では、次のようにキャッシュ ヘッダーを変更できます。

アパッチの場合:

<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

于 2012-05-03T19:46:02.200 に答える