4

我有一个使用 haml 的 ruby​​ sinatra 应用程序。我使用 layout.haml 作为所有页面的通用菜单。假设我有 login.haml、main.haml 和 reports.haml。我只想将 layout.haml 用于 login.haml 和 main.haml。如何从reports.haml 中排除layout.haml?谢谢

4

1 回答 1

8

两种(有点)方法:

全球的

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 回答