Rails 4.2 から 5.1 にサイトを更新しています
前のセットアップでは、生成されたスタイルシート (テナントごと) にページ キャッシュがあり、すべて完全に機能していました。
5.1にアップグレードした後、これは機能しなくなりました
actionpack-page_caching の最新バージョンの使用
キャッシュされたスタイルシートのコントローラーは次のようになります。
class StylesheetsController < ApplicationController
caches_page :show, gzip: true
def show
@stylesheet = Stylesheet.find(params[:id])
respond_to do |format|
format.html
format.css { render text: @stylesheet.contents, content_type: "text/css" }
end
end
end
ログに次のエラーが記録されます。
ActionView::MissingTemplate - Missing template stylesheets/show, application/show with {:locale=>[:en], :formats=>[:css], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby]}. Searched in:
スタイルシート モデルから直接レンダリングしているため、このための物理的なテンプレートはありません。モデルがデータを返すことを確認しました。
キャッシングは開発で有効になっています。
レイアウト ページでの動的スタイルシートへの参照は次のとおりです。
<link href="<%= dynamic_stylesheet %>.css" rel="stylesheet" type="text/css" />
ヘルパー メソッド (application_helper 内) は次のとおりです。
def dynamic_stylesheet
stylesheet_path(current_account.stylesheet) unless current_account&.stylesheet&.id.nil?
end
ここで何がスキップ/見逃されているのかわかりません。何かポインタはありますか?