0

我知道默认情况下,Rails 中的视图使用 application.html.erb 中提供的模板,这是我的默认模板:

<!DOCTYPE html>
<html>
<head>
    ... any code ...
</head>
<body>
 <header> ... any code ... </header>

  <%= yield %>

</body>
</html>

我需要在部分模板中传输代码头>。

这是我的尝试:

  1. 我在剖面视图/布局/header_menu.html.erb 中创建
  2. 我在 helpers/application_helper.rb 中添加了方法

    def layout_header

    render 'layouts/header_menu'
    

    结尾

并在 application.html.erb 中调用它

<!DOCTYPE html>
<html>
<head>
    ... any code ...
</head>
<body>

  <%= layout_header %>

  <%= yield %>

</body>
</html>

这是我的错误: *缺少带有 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]} 的部分布局/header_menu。在以下位置搜索:*“E:/BDR_SEVERNEFT/app/views”*

我使用 Rails 3.2 和 Ruby 1.9.3

4

1 回答 1

1

查看指南http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

您可以使用 .erb 文件直接渲染部分<%= render layout/header_menu %>文件,部分文件需要以下划线开头,即“_header_menu.html.erb”。

如果您想使用您的方法调用方法,请render partial: "layout/header_menu"再次调用,将文件名设为“_header_menu.html.erb”。

于 2013-11-07T20:23:19.047 回答