📜  rails 在 devleopment 中禁用缓存 - Ruby (1)

📅  最后修改于: 2023-12-03 15:04:47.233000             🧑  作者: Mango

Rails 在 Development 中禁用缓存 - Ruby

在Rails的开发环境中,页面缓存很有可能会使开发繁琐不便。比如,有可能会在页面上看到已经修正过的代码,但实际上页面是从缓存中读取的,而不是实时从服务器获取。那么,在Development环境下,如何禁用缓存呢?以下是一些实现方式:

1. 配置文件

config/environments/development.rb文件中加入以下代码片段:

config.action_controller.perform_caching = false 

这会完全禁止所有的页面缓存。

2. 控制器

要禁用特定控制器的页面缓存,可以在该控制器中加入以下代码:

class MyController < ApplicationController
  before_action :set_cache_headers

  def set_cache_headers
    response.headers["Cache-Control"] = "no-cache, no-store"
  end

  #...
end

这会在请求处理之前设置Cache-Control头,从而禁用页面缓存。若要对特定地方完成缓存,还可以使用其他的缓存工具。

3. 视图模板

如果你有一个视图文件,要完全禁用缓存,可以将以下代码片段添加到模板的开始处:

<% cache(nil) do %>
# Template contents here
<% end %>

这将不会将任何东西缓存,而是按需要生成。

以上三个技巧中的任何一个都可以很好地禁止缓存,让你的开发更加顺利。