Технически, yield
также вызывает блок в этом контексте.Тем не менее, блок - это представление, которое вашему контроллеру было приказано визуализировать.
Например, предположим, у вас есть StaticContentController
с действием index
, которое представляет вашу домашнюю страницу.Если маршруты настроены правильно, вы заходите на свою домашнюю страницу.Rails загрузит файл макета в views/layouts
, который подходит для этого контроллера (application.html.haml
, если вы не переопределите это макетом для вашего контроллера).Когда он достигает команды yield
, он вставляет представление в views/static_content/index.html.haml
в то место, где yield
находится внутри вашего макета.Затем он загружает оставшуюся часть файла макета.