【发布时间】:2011-12-04 01:47:07
【问题描述】:
我对 Rails 页面缓存机制有一个非常基本的理解问题。
在 Rails 2.0.5 应用程序上,我使用了大量整页缓存,一切正常,页面由 apache 以极快的速度提供。
到目前为止,所有内容都在管理部分处理,缓存清理器运行良好。
但我现在已经向用户开放了一些部分的版本,这些用户不通过“admin”命名空间,而是通过常规路由。
问题在于,似乎在执行更新时,它们并没有通过“put”操作进入 mongrel,而是我只是获取了缓存页面(数据库中没有操作,没有 flash 消息,什么都没有。 ...)
我觉得我在这里错过了一些东西,是否可以将页面缓存与常规 REST 路由一起使用?还是我的 mongrel/apache 配置有问题?
编辑:
感谢您的回答,但这不是我的意思,整页缓存机制运行良好,我在管理控制器中有专门的清扫器来刷新页面。
我的问题是(或者我认为是)当模型通过常规控制器更新时,表单被提交到缓存页面而不是适当的操作。
在表格中
/pages/1-hello/edit
表单应在“/pages/1-hello”上使用“put”方法发布
但我相信它会转到缓存页面'/pages/1-hello.html'并被视为常规获取......
当我提交表单时,我只看到显示动作,没有闪烁消息,没有更新。 然后我删除公共目录中的缓存文件,再次提交表单,突然一切正常......
我阅读了“rails way”中的缓存部分和 railsenvy.com 上的教程,但我从未见过任何提及缓存页面会带来此类问题的内容....
【问题讨论】:
标签: ruby-on-rails caching