我们在生产中运行Rails 4.2
应用程序,具有以下配置(与缓存相关)。到目前为止我们还没有实现任何缓存技术(默认设置)。
config.action_controller.perform_caching = true
# Use a different cache store in production.
# config.cache_store = :mem_cache_store
我遇到特定视图的问题,因此没有显示更新的数据。
有没有办法可以禁用特定视图的片段缓存而不是整个应用程序?
答案 0 :(得分:1)
TLDR:虽然缓存可能会导致问题,但在尝试修复之前,确实要验证您是否正在使用它!
禁用单个视图缓存的最简单方法也是最明显的(但可能很容易错过):
从视图中删除
cache model do
块。
默认情况下,Rails不会为您执行任何缓存,因此这将完全处理它。如果您未通过视图中的某个区块调用cache
,则不使用缓存。
E.g:
缓存:
# app/views/something_important/show.html.haml
= cache something_important do
= render_something_expensive
未缓存:
# app/views/something_important/show.html.haml
= render_something_expensive