使用 ERB,您可以在列表视图中分段缓存单个记录,如下所示:
<% @items.each do |item| %>
<% cache item do %>
<%= item.name %>
<% end %>
<% end %>
因此,第二次查看列表时,将从缓存中加载每个呈现的项目。使用 Liquid 模板时是否可以使用相同的方法?该模板可能类似于:
{% for item in items %}
{{ item.name }}
{% endfor %}
并呈现:
template = Liquid::Template.parse(template)
template.render('items' => @items)
当它遍历项目时,我希望能够对每个项目进行分段缓存。任何指针?