如何从布局文件中渲染局部视图?

How can I render a partial view from within a layout file?

为了添加一些上下文,我了解到在视图文件夹中您可以创建一个文件并添加带有“_partialname”的部分,例如“_login”。 在我的 index.html.erb 文件或任何其他文件上,我通常会放置一个:

<%= render "login" %>

这是我对布局文件夹所做的,但它不起作用。

下面是我的文件 /views/layouts/application.html.erb 的一个片段。在同一个布局文件夹中,我创建了一个 _footer.html.erb,我希望我的所有视图都拥有它,但是当我尝试以下操作时,它给了我一个错误:

</head>

<body>
<%= yield %>

<%= render "footer" %>
 </body>
</html>

添加错误信息:

Missing partial static/_footer, application/_footer with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. 
Searched in:
 * "/Users/rogerperez/DevProjects/Property-Pal/app/views"

更新:为我的问题的原因添加了上下文

在这种情况下,我认为您的路径是错误的。将代码更改为

<%= render 'layouts/footer' %>

如果 _footer.hml.erb 在布局文件夹中,那么您可以在以下位置渲染它:../views/layouts/application.html.erb 来自:

<%= render 'layouts/footer' %>

该代码将从 app/views/layouts/_footer.html.erb.

提取部分内容
<%= render :partial => "layouts/footer" %>