1

我还不了解 Rails 的缓存系统,但我在指南部分阅读了一个称为片段缓存的功能。

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

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

4

1 回答 1

1

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

片段缓存用于缓存模板中的各种块,而不会将整个动作缓存为一个整体。当某个动作的某些元素频繁更改或依赖于复杂状态而其他部分很少更改或可以在多方之间共享时,这很有用。缓存是使用 Action View 中可用的缓存助手完成的。带有缓存的模板可能类似于:

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

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

因此,您可以将静态部分放在cache块之间,将动态部分放在块之外。这是相关文档的链接:rails fragment caching

于 2011-05-11T13:01:39.263 回答