代码之家  ›  专栏  ›  技术社区  ›  maček

如何在Sinatra中创建布局模板?

  •  20
  • maček  · 技术社区  · 14 年前

    我对Sinatra还不熟悉,我不知道该把我的应用程序布局放在哪里。

    我见过使用

    # app code    
    __END__
    
    @@layout
      %html
        = yield
    

    但我希望布局是自己的 .haml 文件。

    布局文件应该命名为什么?它应该放在哪个目录中?

    2 回复  |  直到 14 年前
        1
  •  20
  •   ocodo    14 年前

    如果还没有,请创建一个文件夹,将sinatra脚本放在其中,名为。。。

    views/
    

    把你的布局放进去,调用你的布局

    layout.haml
    

    或任何扩展(例如。 .erubis )你想用。

        2
  •  27
  •   Phrogz    12 年前

    自动包装

    要使每个视图默认包装在布局中,请在 views/layout.haml 你的电话 haml :myview 将自动包装在此布局中。

    跳过布局

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

    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