我正在跟随'带有Rails 4的敏捷Web开发指南'指南,并且谈到了关于缓存的部分。下面是要遵循的步骤:如何判断缓存是否正常工作。 Rails 4
- 在配置/环境/ development.rb
config.action_controller.perform_caching = true
在应用程序/模型/ product.rb
def self.latest Product.order(:updated_at).last end
- 的意见
/存储/index.html.erb
<% 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 %>
为了验证现金是否奏效,该书说:“至于验证这个工作,遗憾的是没有太多可以看到。如果你去那个页面,你应该看不到任何变化,这实际上是重点!您可以做的最好做法是更改模板内任何位置的模板,而不更新任何产品并验证您没有看到该更新,因为该页面的缓存版本尚未更新“。
但是,当我尝试在缓存块中的代码中添加一个“Hello”字符串时,它会出现在页面上,我已经完成了所有的服务器重新启动以及没有完成的操作。主办我看到这行
Cache digest for app/views/store/index.html.erb: 6c620ede1d4e824439a7b0e3b177620f
这不是他们的,当我有 config.action_controller.pe rform_caching =假
链接到git的枢纽回购:改变文件的时候,所以它更容易操纵,而不是缓存https://github.com/BrianLobdell/depot
谢谢你,布莱恩
那又如何?一切似乎工作...... – joni
在本书中测试的方式表示,将某些东西添加到未修改产品的缓存块中(如“hello”字符串),并且如果缓存正在工作,则不会显示这一页。但是,在我的情况下,“Hello”字符串确实出现 – megacanyon