我嘗試使用Actionpack頁面緩存與我的靜態頁面。 如果我理解這個工作'Actionpack頁面緩存'是第一個請求到達rails。渲染的意見,和Html存儲在緩存公共/部署/ ...Actionpack頁面緩存每個請求上呈現的視圖
第二個類似的請求沒有達到鐵路。視圖不會渲染。一個頁面將從緩存中獲取。
但在日誌中它看起來完全不同。
「第一次請求」
I, [2013-08-16T12:24:43.591000 #16835] INFO -- : Rendered init/scene.html.erb within layouts/application (4.0ms)
I, [2013-08-16T12:24:43.615000 #16835] INFO -- : Rendered layouts/_server_params.html.erb (4.0ms)
I, [2013-08-16T12:24:43.624000 #16835] INFO -- : Rendered windows/_login_without_social_window.html.erb (2.0ms)
I, [2013-08-16T12:24:43.661000 #16835] INFO -- : Rendered windows/_choice_base_career_window.html.erb (34.0ms)
I, [2013-08-16T12:24:43.687000 #16835] INFO -- : Rendered windows/_auth_window.html.erb (21.0ms)
I, [2013-08-16T12:24:43.691000 #16835] INFO -- : Rendered windows/_free_teams_window.erb (2.0ms)
I, [2013-08-16T12:24:43.692000 #16835] INFO -- : Rendered layouts/_windows.html.erb (74.0ms)
I, [2013-08-16T12:24:43.775000 #16835] INFO -- : Rendered layouts/_bottom_menu.html.erb (80.0ms)
I, [2013-08-16T12:24:43.780000 #16835] INFO -- : Write page /home/pri/test/public/deploy/init/load_app.html (1.0ms)
I, [2013-08-16T12:24:43.782000 #16835] INFO -- : Completed 200 OK in 208ms (Views: 200.0ms | ActiveRecord: 0.0ms)
I, [2013-08-16T12:24:49.070000 #16835] INFO -- : Started GET "/init/load_app" for 127.0.0.1 at 2013-08-16 12:24:49 +0400
I, [2013-08-16T12:24:49.088000 #16835] INFO -- : Processing by InitController#load_app as HTML
「第二次請求」
I, [2013-08-16T12:24:49.096000 #16835] INFO -- : Rendered init/scene.html.erb within layouts/application (1.0ms)
I, [2013-08-16T12:24:49.108000 #16835] INFO -- : Rendered layouts/_server_params.html.erb (2.0ms)
I, [2013-08-16T12:24:49.112000 #16835] INFO -- : Rendered windows/_login_without_social_window.html.erb (1.0ms)
I, [2013-08-16T12:24:49.124000 #16835] INFO -- : Rendered windows/_choice_base_career_window.html.erb (10.0ms)
I, [2013-08-16T12:24:49.138000 #16835] INFO -- : Rendered windows/_auth_window.html.erb (11.0ms)
I, [2013-08-16T12:24:49.140000 #16835] INFO -- : Rendered windows/_free_teams_window.erb (1.0ms)
I, [2013-08-16T12:24:49.142000 #16835] INFO -- : Rendered layouts/_windows.html.erb (31.0ms)
I, [2013-08-16T12:24:49.161000 #16835] INFO -- : Rendered layouts/_bottom_menu.html.erb (16.0ms)
I, [2013-08-16T12:24:49.165000 #16835] INFO -- : Write page /home/pri/test/public/deploy/init/load_app.html (3.0ms)
I, [2013-08-16T12:24:49.167000 #16835] INFO -- : Completed 200 OK in 76ms (Views: 70.0ms | ActiveRecord: 0.0ms)
在視圖將呈現和緩存頁面overwrited所有請求。
我用: 軌4.0.0
的JRuby
彪馬服務器
生產模式
啓動服務器 - RAILS_ENV =生產鋼軌小號彪馬
我production.rb
ResFm::Application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.cache_store = :dalli_store
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :sass
config.assets.compile = false
config.assets.digest = true
config.assets.version = '1.0'
config.assets.debug = false
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
# cache static pages
config.action_controller.page_cache_directory = "#{Rails.root.to_s}/public/deploy"
config.serve_static_assets = true
#CDN google servers
config.asset_host = 'http://resassets.appspot.com'
end
在控制器I使用
caches_page :load_app
def load_app
end
,這是一個根URL。
我的Gemfile
gem 'rails', '4.0.0'
gem 'activerecord-jdbcpostgresql-adapter', '~>1.3.0.beta2'
gem 'dalli'
gem 'jquery-ui-rails'
gem 'jquery-rails'
group :assets do
gem 'coffee-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'therubyrhino'
gem 'execjs'
end
group :development do
gem 'annotate'
gem 'puma'
end
gem 'dimensions-rails'
gem 'sass-rails', '~> 4.0.0'
group :production do
gem 'rack-cache'
gem 'actionpack-page_caching'
end
請幫助我明白我做錯了。
謝謝!我chacnge config.action_controller.page_cache_directory =「#{Rails.root.to_s}/public /」 和緩存的作品! – user2688740