gpt4 book ai didi

ruby-on-rails - 设置缓存控制头

转载 作者:行者123 更新时间:2023-12-04 05:45:24 24 4
gpt4 key购买 nike

假设我有一个 public/marketing Controller ,我想用 Cache-Control: max-age=180, public, must-revalidate 设置响应头

我找不到在 Controller 级别设置它的文档?

最佳答案

有几个选项可以想到。

选项1:

使用来自 ActionController::ConditionalGet 的 expires_in 助手.这些都包含在 ActionController::Base 中和 ActionController::API ,据我所知( http://api.rubyonrails.org/classes/ActionController/ConditionalGet.html )。

def some_action
@some_user_for_view = User.first
expires_in 3.hours, public: true
end

选项 2:

使用设置 #headers 手动设置标题在响应对象上。直接地。 ( http://edgeguides.rubyonrails.org/action_controller_overview.html#the-response-object )
before_action :set_headers

def set_headers
response.headers["Expires"]='Mon, 01 Jan 2000 00:00:00 GMT'
response.headers["Pragma"]='no-cache'
response.headers["Cache-Control"]="no-cache"
response.headers["Last-Modified"]=Time.now.strftime("%a, %d %b %Y %T %Z")
end

第一个选项将是最“荒谬”的,但是使用第二个选项会在标题的自定义方面产生更多选项。

关于ruby-on-rails - 设置缓存控制头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49988700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com