我正在使用Rails (v3.2.21)开发API应用程序,并尝试设置响应中的“Cache-Control”标头,以便我的客户端应用程序可以缓存它们。然而,实际响应的标头值仍在使用默认值(使用Chrome中的Advanced Rest Client插件进行检查)。
从谷歌搜索来看,似乎
然而,当我请求该资源时,它总是返回(默认值?):
当我在
我在控制器中的
我应该补充说明,我尝试使用
有人对我在这里做错了什么有任何想法吗?
从谷歌搜索来看,似乎
expires_in
方法是实现此目的的方法:expires_in 3.hours, :public => true
然而,当我请求该资源时,它总是返回(默认值?):
Cache-Control: must-revalidate, no-cache, no-store, private, max-age=0
当我在
expires_in
后面立即执行binding.pry
并检查response.headers
时,它是空的...似乎也是错误的。我在控制器中的
before_filter
中执行上述操作,并且还尝试在调用render
返回响应之前立即执行上述操作。我应该补充说明,我尝试使用
response.headers["CacheControl"] = "blah"
手动设置“Cache-Control”头,但这也不起作用,而且我已经在其他地方读到Rails不允许这样做。有人对我在这里做错了什么有任何想法吗?