Хотя вы не можете отключить его, вам может не понадобиться;вам может просто понадобиться обойти механизм кэширования.
Для источника здесь и здесь , если установлены заголовок Cache-Control: no-cache
или заголовки Pragma: no-cache
,Rack :: Cache не будет пытаться получить запрос из кеша.Это не отключает его, но позволяет убедиться, что у вас нет запроса, который не должен кэшироваться, и в конечном итоге возвращает ответ кэширования.
Кроме того, вы можете убедиться, что Rack :: Cacheникогда не кэширует ответ для данного действия с чем-то вроде:
response.headers['Cache-Control'] = 'private,max-age=0,must-revalidate,no-store'
в вашем действии контроллера.Это гарантирует, что Rack :: Cache (и любые другие прокси-серверы верхнего уровня) не кэшируют ответ, что приводит к всегда свежему попаданию в ваш бэкэнд.
Если это не удастся, то, скорее всего, у вас возникли проблемыиз-за метода forward
в context.rb.Кажется, нет способа обойти это, поэтому вы, вероятно, захотите исправить Rack :: Cache, чтобы просто вызывать #call
, если установлен определенный заголовок.