2011-05-10 50 views
1

我还不明白Rails的缓存系统,但我已经阅读过一个名为片段缓存的功能的指南部分。Rails的片段缓存是否适合这个问题?

我的问题是:我的观点主要是静态元素。它几乎是完全静态的,唯一的变化是状态消息和表单中的隐藏输入字段,这两个字段都是在服务视图的操作的每个请求中生成的。

片段缓存适合这个问题吗?我应该使用什么样的缓存策略?

回答

1

片段缓存足以解决您的问题。这是足够的,因为它使您能够缓存视图的一部分(片段),而不是整个视图。从该文档:

片段缓存被用来缓存内模板 各种块,而不缓存整个动作作为一个整体 。当动作的某些 元素频繁更改 或取决于复杂的 状态,而其他部分很少更改 或可以在多个 双方之间共享时,此功能非常有用。高速缓存是使用动作 视图中提供的 高速缓存助手完成的。存的一个模板可能 看起来像:

<!-- this is the dynamic part--> 
<b>Hello <%= @name %></b> 

<% cache do %> 
    <%= render :partial => "static_part" %> 
<% end %> 

所以,你可以把cache块,并在它之外的动态部分之间的静态部分。 以下是相关文档的链接:rails fragment caching