私は最近Railsプロジェクトに苦労しており、基本的にプロジェクトのすべてのページに通常のナビゲーション(古いブラウザの場合)とレイアウトなしのAJAXの両方を介してアクセスできる必要があります。最近、これを ApplicationController の一番上に置くことで、問題の解決策を見つけました。
layout proc { request.xhr? ? false : "application" }
この行により、すべてのコントローラー アクションは、通常のアクセスではレイアウトを使用してレンダリングされ、AJAX 経由でアクセスされた場合はコントローラーなしでレンダリングされるはずですが、これは少し良すぎるように思えます。
私が忘れているこのアプローチのセキュリティまたはパフォーマンスの低下があるかどうか疑問に思っていましたか? それを行うより良い方法はありますか?あいまいで古いブラウザが偶然にレイアウトなしでレンダリングする可能性はありますか、またはその逆の可能性はありますか?
基本的に、私は何かを見落としていますか?これは危険でしょうか?