私の宝石では、特定の条件でレイアウトを変更したいだけです。
レイアウトを指定する方法があることはわかっていますが、その方法で現在のレイアウトを指定するにはどうすればよいでしょうか? がレイアウト名を指すことはわかった_layout
のですが、レイアウトを指定するメソッド内で呼び出すとスタックオーバーフローが発生します。
明確にするためのコードは次のとおりです(エンジンのアプリケーションコントローラー内):
layout :get_layout
def get_layout
current = _layout # this is what I want, but causes a stack overflow
request.path_info.include?( '/baco/' ) ? 'baco' : current
end
たとえば、この gem を含むアプリケーションは「qday」というレイアウトを指定します。パスに「baco」が含まれている場合、gem はレイアウトを変更する必要がありますが、含まれていない場合は「qday」をレンダリングする必要があります。
ありがとう!