rails7: 纯静态页面 static_pages
纯静态页面的管理
关闭/开启缓存
其实就是创建
tmp/caching-dev.txt
这个文件。
rails dev:cache
添加 gem
因为
rails4
之后,默认的caches_page
就已经被移除提了。
gem "actionpack-page_caching"
添加配置
配置文件在这里
./config/application.rb
config.action_controller.perform_caching = true
添加ctrl命令
rails g controller StaticPages home about contact
路由
Rails.application.routes.draw do
get 'static_pages/home'
get 'static_pages/about'
get 'static_pages/contact'
root 'static_pages#home' # 设置根路径
end
controller
用户访问之后,默认就会在
public
目录下产生对应的文件。
cache_pages
: 会生成页面到public
下面- 清除: expire_page('/static_pages/home')
- 清除所有: rake tmp:cache:clear
class StaticPagesController < ApplicationController
caches_page :home
def home
# 这里可以添加一些处理逻辑
end
def about
# 这里可以添加一些处理逻辑
end
def contact
# 这里可以添加一些处理逻辑
end
end
常用配置
常用配置及
snippets
配置 | 代码 |
---|---|
开启缓存 |
|
缓存目录 |
|
不同的 ctrl 自定义 |
|
根据 action 缓存 |
|
更新缓存 |
|
参考
- https://chat.zhile.io/c/420d4ec7-0c81-488a-b189-bfa1a99c4c78
- https://stackoverflow.com/questions/11520816/after-removing-caches-page-cached-sites-are-still-not-updated
- https://github.com/rails/rails/issues/48113
- https://github.com/rails/actionpack-page_caching
- https://rubykr.github.io/rails_guides/caching_with_rails.html