templates - 如何在 Sinatra 中制作布局模板?

标签 templates layout sinatra

我是 Sinatra 新手,我不知道将我的应用程序布局放在哪里。

我见过使用

的内联方法
# app code    
__END__

@@layout
  %html
    = yield

但我希望布局位于它自己的 .haml 文件中。

布局文件应该命名为什么?应该放在什么目录下?

最佳答案

自动换行

要使每个 View 默认包装在布局中,请在 views/layout.haml 中创建一个文件,并且对 haml :myview 的调用将自动包装在这个布局。

跳过布局

如果您希望特定 View 渲染不使用布局,请使用:

get '/' do
   # Other pages will use layout.haml, but not the main page
   haml :home, :layout => false
end

使用不同的布局

如果您想使用通用布局以外的布局,请创建另一个文件(例如 views/admin_layout.haml),然后将其作为选项传递:

get '/admin/create' do
   haml :create, :layout => :admin_layout
end

关于templates - 如何在 Sinatra 中制作布局模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4190297/

相关文章:

.net - 是否有类似于 Ruby 的 Sinatra 的 .NET 框架?

javascript - 使输入上的禁用属性与 Meteor 助手 react 的最佳方法是什么?

html - 如何控制边框高度?

ruby - 很多 H17 Heroku 错误

java - 布局和 Activity 有什么区别?

JavaFX:getWidth() 和 getLayoutBounds() 返回 0

ruby - 如何将请求转发到 Sinatra 中的不同端点

html - Symfony2 - 渲染模板时获取外部内容

c++在派生中定义模板化基类在IAR ARM编译器中不起作用

templates - Play 2.0 访问模板中的请求