我有一个带有ActiveStorage的简单Rails6应用程序。我使用本地磁盘存储。当我检查来自表示url的响应时,如下所示
http://localhost:3000/rails/active_storage/disk/some-long-hash/IMG_0951.jpeg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22IMG_0951.jpeg%22%3B+filename%2A%3DUTF-8%27%27IMG_0951.jpeg
我看到标题缓存控制:最大年龄=0,私有,必须重新验证
问题是如何让Rails设置具有一定年龄的公共缓存头?
1条答案
按热度按时间oknrviil1#
用于
ActiveStorage::DiskController
的#show
方法是difficult to override,但它可以完成。一种更简单的方法是为现有的
#show
方法添加一个after_action
回调函数,以便在调用Cache-Control
方法时插入其头:然后,请求ActiveStorage URL会在响应中返回自定义的
Cache-Control
标头值: