Подтвердить что ты не робот

Как создать шаблон макета в Sinatra?

Я новичок в Sinatra, и я не могу понять, где разместить мой макет приложения.

Я видел встроенный метод, который использует

# app code    
__END__

@@layout
  %html
    = yield

Но я бы хотел, чтобы макет был в нем собственным .haml файлом.

Каков должен быть назван файл макета? В какой каталог следует поместить его?

4b9b3361

Ответ 1

Если вы еще этого не сделали, создайте папку, в которой вызывается ваша синатра script...

views/

и разместите свой макет там, назовите макет

layout.haml

или любое расширение (например, .erubis), которое вы хотели бы использовать.

Ответ 2

Автоматическая упаковка

Чтобы сделать все представления по умолчанию обернутыми в макет, создайте файл в 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