У меня есть приложение с файлом макета глобального приложения application.html.haml
. Затем у меня есть несколько "стеков контроллера": для нашего основного сайта, нашего портала-администратора и нашего бизнес-сайта. Для каждого из них контроллеры находятся внутри модуля и все наследуются от одного и того же BaseController
. Каждый стек имеет собственный файл макета. Внутри стека некоторые контроллеры также имеют файлы макета.
Я бы хотел, чтобы все представления (если не указано иное) отображались внутри нескольких уровней вложенных макетов: приложение, "стек", "контроллер".
Например, для действия Site::BlogController#show
я бы хотел, чтобы рельсы отображались:
/site/blog/show.html.haml
внутри /layouts/site/blog.html.haml
внутри /layouts/site.html.haml
внутри /layouts/application.html.haml
Мне трудно понять, как вставить /layouts/site.html.haml
в стек. Кажется, что автоматически, рельсы будут отображать действие внутри макета контроллера внутри макета приложения, однако я не вижу, как "вставлять" макеты в стек рендеринга.
Любая помощь очень приветствуется, однако, я прочитал все руководства по направляющим, но ничего не получилось, поэтому ссылка на http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts не будет действительно будет полезно.