rails缓存实例

来源:互联网 发布:西方古代科技成就知乎 编辑:程序博客网 时间:2024/06/08 10:08
给新闻添加页面缓存、以及更新时缓存清除: 
Java代码
class NewsController < ApplicationController  caches_page :show, :index  cache_sweeper :news_sweeper, :only => [:create, :update, :destroy]    def index    list    render :action => 'list'  end  def show        @news = News.find(params[:id])    render :layout=>"main"  end  def create  end  def update  end  def destroy    News.find(params[:id]).destroy    redirect_to :action => 'list'  endend

在environment中配置: 
Java代码
config.active_record.observers = :news_sweeper

定义NewsSweeper类: 
Java代码
class NewsSweeper < ActionController::Caching::Sweeper  observe News    def after_save(news)    clear_news_cache(news)  end    def after_destroy(news)    clear_news_cache(news)  end    def after_update(news)    clear_news_cache(news)  end    def clear_news_cache(news)    expire_page :controller => :news, :action => :index    expire_page :controller => :news, :action => :show, :id=>news    expire_page :controller => :main, :action => :news, :id=>news  endend



0 0
原创粉丝点击