我有一个使用haml的ruby sinatra应用程序。我将layout.haml用于所有页面的公共菜单。我们说我有login.haml,main.haml和reports.haml。我只想将layout.haml用于login.haml和main.haml。如何从reports.haml中排除layout.haml?感谢
答案 0 :(得分:7)
两种(有点)方式:
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
的全局声明。我已经冒昧地为这个功能打开一个issue,因为它似乎足够合理(希望你不介意)。