在rails中使用缓存登录页面

时间:2018-06-14 08:41:06

标签: ruby-on-rails ruby

我想利用缓存的好处。我尝试了页面缓存和片段缓存,但没有一个工作。对于页面缓存,我所做的是

development.rb和environment.rb

config.action_controller.perform_caching = true

内部控制器,负责显示登录页面

class Users::SessionsController < Devise::SessionsController
  include ::ActionView::Layouts

  attr_accessor :callback_url

  layout 'login_portal'

  caches_page :new

  def new
  end

这没用。我得到的错误就像未知方法caches_page

片段缓存

对于内部视图/ devise / sessions

内的new.html.slim
<% cache 'new' do%>
....
<% end %>

但这样以上&lt;%cache%&gt;也显示在UI中。

如何将登录页面用作静态页面?

1 个答案:

答案 0 :(得分:1)

自Rails 4.0以来,Action Pack的静态页面缓存已从核心中删除,

你需要这个宝石

gem "actionpack-page_caching"

首先,您需要在配置文件中设置page_cache_directory

config.action_controller.page_cache_directory = "#{Rails.root}/public/cached_pages"

然后在控制器中

class YourController < ActionController::Base
  caches_page :new
end

在此处阅读更多https://github.com/rails/actionpack-page_caching