4

私は、haml を使用するルビー シナトラ アプリを持っています。すべてのページに共通のメニューには、layout.haml を使用します。login.haml、main.haml、reports.haml があるとします。login.haml と main.haml にのみ layout.haml を使用したい。reports.haml から layout.haml を除外するにはどうすればよいですか? ありがとう

4

1 に答える 1

8

2つの(そして多少の)方法:

グローバル

class MyApp < Sinatra::Base
  set :haml, :layout => false

  get '/reports' do
    haml :reports
  end
end

ブラックリスト登録

レイアウトを必要としないルートの数が少ない場合、これはパターンです。

class MyApp < Sinatra::Base

  get '/reports' do
    haml :reports, :layout => false
  end

end

ホワイトリスト登録

ただし、ファイルを必要としないルートlayout.hamlが多い場合、Sinatra は のグローバル宣言のオーバーライドをサポートしていないようですset :haml, :layout => false。この機能は十分に合理的であると思われるため、自由に問題を提起しました(気にしないでください)。

于 2013-06-14T06:52:42.420 に答える