如何在另一个 .html.erb 文件中调用 .html.erb 文件

问题描述

我有一个如下所示的结构,其中我需要在另一个文件调用 .html.erb 文件

main_layout.html.erb

<html>
    <head>
    </head>
    <body>
      <div>
        how to call the sub_layout here
      </div>
    </body>
</html>

sub_layout.html.erb

<div>
  <p> This is the nested layout to be rendered inside main_layout </p>
</div>

我尝试了以下选项。


以上两个选项都不起作用。请问有什么建议吗?

解决方法

# main_layout.html.erb
<html>
    <head>
    </head>
    <body>
      <div>
        <%= render 'sub_layout' %>
      </div>
    </body>
</html>

这将在与 _sub_layout.html.erb 相同的文件夹中查找文件 main_layout.html.erb

如果 _sub_layout.html.erbmain_layouts.html.erb 不在同一个文件夹中,则需要定义完整路径 <%= render 'your/path/to/sub_layout' %>