论坛首页 编程语言技术论坛

rails 清除分页cache

浏览 2818 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-04  
我在rails里对分页列表按页数做了cache,现在不知道怎么清除cache,主要是在清除cache时不知道怎么传page这个参数,
我是这么做的cache的,
在我的控制里加一句:caches_page :list
在routes里加了局:map.connect ':controller/:action/:id/:page'
生成的目录是这样的:控制器名/action名/id/page.html
   发表时间:2006-12-04  
llike_1983 写道
我在rails里对分页列表按页数做了cache,现在不知道怎么去掉cache,请

how did you do that then?
0 请登录后投票
   发表时间:2006-12-04  
我就在我的新闻控制器里加了这么一句话:caches_page :list
然后改了一下routes.rb,在里面加了这么一句: map.connect ':controller/:action/:id/:page'
0 请登录后投票
   发表时间:2006-12-04  
既然在routes里配置过了,那么url_for应该是可以正确转换这个路径,试试:
expire_page(url_for(:controller => xxx, :action => xxx, :id => xxx, :page => xxx)

也可以试试直接使用字符串:
expire_page("/xxx/xxx/id/page")
0 请登录后投票
   发表时间:2006-12-04  
qiezi 写道
既然在routes里配置过了,那么url_for应该是可以正确转换这个路径,试试:
expire_page(url_for(:controller => xxx, :action => xxx, :id => xxx, :page => xxx)

也可以试试直接使用字符串:
expire_page("/xxx/xxx/id/page")

关键在于我是分页,:page参数怎么传递,我没法动态得到page参数的值
0 请登录后投票
   发表时间:2006-12-04  
得不到page参数,那你的意思是说所有page都过期?还是最后一页过期?

前者好办,把/xxx/xxx/id这个文件夹删掉就可以了;如果是后者,把文件夹中的文件排序,删掉最后一个,可能要考虑多个服务器进程时的问题。

如果你只删一页,page参数无论如何都要想办法取到,否则删什么呢?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics