【发布时间】:2011-05-10 15:09:36
【问题描述】:
我还不了解 Rails 的缓存系统,但我在指南部分阅读了称为片段缓存的功能。
我的问题是:我的观点主要是静态元素。它几乎是完全静态的,唯一的变化是表单中的状态消息和隐藏的输入字段,这两者都是在对服务于视图的操作的每次请求时生成的。
片段缓存适合这个问题吗?我应该使用什么缓存策略?
【问题讨论】:
标签: ruby-on-rails caching fragment-caching
我还不了解 Rails 的缓存系统,但我在指南部分阅读了称为片段缓存的功能。
我的问题是:我的观点主要是静态元素。它几乎是完全静态的,唯一的变化是表单中的状态消息和隐藏的输入字段,这两者都是在对服务于视图的操作的每次请求时生成的。
片段缓存适合这个问题吗?我应该使用什么缓存策略?
【问题讨论】:
标签: ruby-on-rails caching fragment-caching
片段缓存足以解决您的问题。这是足够的,因为它使您能够缓存视图的一部分(片段),而不是整个视图。来自文档:
片段缓存用于缓存 模板中的各种块 无需将整个动作缓存为 所有的。这在某些情况下很有用 动作变化的要素 经常或依赖于复杂的 状态,而其他部分很少改变 或者可以在多个之间共享 派对。缓存是使用 Action 中可用的缓存助手 看法。带有缓存的模板可能 看起来像:
<!-- this is the dynamic part-->
<b>Hello <%= @name %></b>
<% cache do %>
<%= render :partial => "static_part" %>
<% end %>
所以你可以把你的静态部分放在cache 块之间,动态部分放在它外面。
以下是相关文档的链接:rails fragment caching。
【讨论】: