Вложенные макеты шаблонов ERB, такие как Liquid? - PullRequest
3 голосов
/ 02 января 2011

С Liquid , вы можете вкладывать макеты. Например, макет моего сайта по умолчанию основывается на базовом макете .

Возможно ли это с ERB ? Если да, то как?

Я спрашиваю, потому что я перемещаю сайт GitHub Pages на Sinatra , чтобы я мог обрабатывать формы изначально (не с Wufoo или Google Forms ).

1 Ответ

2 голосов
/ 22 марта 2011

попробуйте это:

создайте файл с именем layout.haml (или erb или где-нибудь еще, в котором находятся ваши шаблоны) и поместите его в папку представлений. это макет вашего сайта, и он может выглядеть так (я использую haml):

 %html
  %head 
    %link(rel="stylesheet" type="text/css" href="style.css")  
  %body
    %div.outer
      %div.inner
        = yield

волшебная часть =yield это где Синатра будет отображать любой шаблон, который вы называете в вашем маршруте. символ = указывает вашему шаблону ожидать код рубина.

например, если ваш маршрут

get '/' do 
  haml :index
end

тогда ваш шаблон в /views/index.haml будет вставлен. вы также можете использовать пользовательский макет, если вы скажете своему шаблону переопределить его в /views/layout.haml.

надеюсь, это поможет.

...