📅  最后修改于: 2023-12-03 15:04:47.233000             🧑  作者: Mango
在Rails的开发环境中,页面缓存很有可能会使开发繁琐不便。比如,有可能会在页面上看到已经修正过的代码,但实际上页面是从缓存中读取的,而不是实时从服务器获取。那么,在Development环境下,如何禁用缓存呢?以下是一些实现方式:
在config/environments/development.rb
文件中加入以下代码片段:
config.action_controller.perform_caching = false
这会完全禁止所有的页面缓存。
要禁用特定控制器的页面缓存,可以在该控制器中加入以下代码:
class MyController < ApplicationController
before_action :set_cache_headers
def set_cache_headers
response.headers["Cache-Control"] = "no-cache, no-store"
end
#...
end
这会在请求处理之前设置Cache-Control头,从而禁用页面缓存。若要对特定地方完成缓存,还可以使用其他的缓存工具。
如果你有一个视图文件,要完全禁用缓存,可以将以下代码片段添加到模板的开始处:
<% cache(nil) do %>
# Template contents here
<% end %>
这将不会将任何东西缓存,而是按需要生成。
以上三个技巧中的任何一个都可以很好地禁止缓存,让你的开发更加顺利。