5

複数のレイアウトを持つ Sinatra アプリがあります。それらを の独自のサブディレクトリに分離したいviews:

app.rb
views/
views/layouts/
views/layouts/default.haml
views/layouts/print.haml
views/layouts/mobile.haml

これはうまくいきますが、レンダリング呼び出しごとにレイアウトを明示的に設定する必要があります。

get '/' do
    haml :index, {:layout => :'layouts/default'}
end

レイアウトをグローバルに設定する方法はありますか (たとえば、モジュール内のすべてのルートに対して)、または Sinatra にデフォルト ディレクトリの外のレイアウトを探す場所を指示する方法はありますか?

4

1 に答える 1

13

RTFM を改善する必要があります... したがって、Sinatra 自体に特定のオプションはありませんが、HAML などの各レンダリング エンジンのデフォルト レイアウトを設定できます。

configure do
  set :haml, :layout => :'layouts/default'
end
于 2013-08-18T19:59:50.570 に答える