Sinatra documentation描述了如何渲染嵌套布局。
erb :main_layout, :layout => false do
erb :admin_layout do
erb :user
end
end
它还描述了如何覆盖整个应用程序的默认布局:
set :erb => {:layout => :alt_layout}
在我看来,为了使用嵌套布局,每次渲染模板时,我都必须重写该块,例如
get '/user' do
erb :main_layout, :layout => false do
erb :admin_layout do
erb :user
end
end
end
是否可以为Sinatra :: Base应用程序命名嵌套布局或将其定义为默认布局,因此我可以执行以下操作并获得与以上?
get '/user' do
erb :user
end
(我知道我可以定义一个包含嵌套块的实例方法,并使用它代替#erb,但是我的问题是我是否可以在应用程序中定义一个嵌套布局,以使其在不更改erb的情况下工作(模板调用)。