Rails で HTTP キャッシングを行う場合、一度は次を使用します:
fresh_when etag: @user, public: true
これに関する問題は、ページの html を変更すると、キャッシュされたページが無効になることです。そのため、何かを変更するたびにページ/etag を無効にする方法が必要です。
これを行う 1 つの方法は、デプロイメントの Etag busting に従って、デプロイするたびに RAILS_CACHE_ID を変更することです 。ただし、これを行うと、デプロイメントごとにすべてのページが期限切れになるため、すべての etag が発生します。
個々のページの個々のタグを期限切れにできるソリューションが必要です。
次のようなバージョンで独自の etag を生成できます: fresh_when etag: (@user.updated_at.to_s + "V1"), public: true
しかし、これは「Rails のやり方」とは思えません。もっとエレガントなソリューションはありますか?