私はアクションキャッシングを使用しているコントローラ上にアクションを持っています。私のレイアウトはログイン状態のようなユーザ依存の情報を持っているので、私はそのキャッシングコールでlayout: false
フラグを使用しています。これは完全に機能します。条件付きレイアウトとレイアウトなしのアクションキャッシング
layout ->(c) { pjax_request? ? false : 'application' }
レイアウトがレンダリングされていないいくつかの要求にある:
は、その後、私は基本的には、コントローラにこのコードを追加しますpjaxレールの宝石を、追加しました。今私は(ちょっと論理的に)これら2つのアプローチを組み合わせたいと思っています。しかしときpjax_request? == true
が、私はこのエラーを取得する:
There was no default layout for MyController
私が間違って何をやっているとどのように私はこの問題を解決することができますか?
PS:これは、この場合には、最も簡単な再現性のある:
class MyController < ApplicationController
layout false
caches_action :index, :layout => false
def index
end
end
@からの提案に感謝を
action_has_layout
を強制します。私はちょっとハックして、問題を解決するプルリクエストを書きました:https://github.com/rails/rails/pull/5328。 –