【问题标题】:Rails 4.2 fragment caching isn't workingRails 4.2 片段缓存不起作用
【发布时间】:2015-05-31 06:25:11
【问题描述】:

我正在尝试对我网站的静态部分进行分段缓存,但它似乎根本不起作用。我已经设置了config/application.rb 如下:

config.action_controller.perform_caching = true
config.cache_store = :dalli_store

在我看来,我有这个:

<% cache 'cache_key' do %>
  <!-- cached markup -->
<% end %>

我在日志中没有看到任何关于将片段保存到缓存或在后续页面加载时检索它的内容。我也尝试过使用默认的 Rails :file_store 缓存。我知道缓存存储正在工作,因为使用 Rails.cache.fetch 可以正常工作。

我怎样才能让它工作?

【问题讨论】:

    标签: ruby-on-rails caching memcached dalli fragment-caching


    【解决方案1】:

    在 Rails 5 中:

    $ rails dev:cache
    Development mode is now being cached.
    

    在开发环境中激活缓存。

    【讨论】:

    • 因为这个问题是关于 Rails 4.2 的,你可能想把这个作为评论留下。(另外,在这个问题的上下文中你的代码应该做什么也不是很清楚)
    【解决方案2】:

    您可能正在开发环境中工作。 在 /config/environments/development 更改:

    # 显示完整的错误报告并禁用缓存。
    config.consider_all_requests_local = true
    config.action_controller.perform_caching = false

    # 显示完整的错误报告并禁用缓存。
    config.consider_all_requests_local = true
    config.action_controller.perform_caching = true

    开发设置可能会覆盖其他设置。 确保 memcache 已安装并正在运行。如果有问题,它应该会显示在控制台中。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      相关资源
      最近更新 更多