gpt4 book ai didi

ruby-on-rails - Rails : what does cache ['store' , Product.latest] 函数在片段缓存中做什么?

转载 作者:行者123 更新时间:2023-12-04 21:40:23 25 4
gpt4 key购买 nike

我正在关注一本名为 的书使用 Rails 进行敏捷 Web 开发 4 我在理解 cache ['store', Product.latest] 的作用时遇到了问题在 View 文件中做。

#static function latest is defined in the model
def self.latest
Product.order(:updated_at).last
end

#here is my view file

<% cache['store',Product.latest] do %>
<% @products.each do|product| %>
<% cache['entry',product] do %>
<div class="entry">
<%= image_tag(product.image_url) %>
<h3><%= product.title %></h3>
<%= sanitize(product.description) %>
<div class="price_line">
<span class="price"><%= number_to_currency(product.price) %></span>
</div>
</div>
<% end %>
<% end %>
<% end %>

最佳答案

cache(key) { ... } helper执行块的内容,并使用给定的键将结果缓存一段时间。

该文档详细解释了所有各种选项和功能。

在您的情况下,['store',Product.latest]是构建缓存键名称的参数。数组中的项被连接以产生 String类似于 store/products/100-20140101-163830然后用作缓存键来存储块的结果。

原因Product.latest作为缓存键的参数传递,这是一种确保一旦新产品添加到数据库中片段就过期的技巧。这种方法通常称为基于 key 的到期模型。

关于ruby-on-rails - Rails : what does cache ['store' , Product.latest] 函数在片段缓存中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28068468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com