Rails 2.2.2 - 尝试在子目录中呈现部分时缺少模板错误

时间:2010-10-20 03:18:34

标签: ruby-on-rails ruby

当Rails尝试渲染我的布局位于 app / views / layouts / application.html.erb 时,我收到以下错误:

  

在视图路径/ home / me / checkout / site / app / views中缺少模板shared / _header.erb:   提取的来源(第11行):
  8: <body>
  9: <div id="wrap">
  10: <div class="clear">...</div>
  11: <%= render :partial => 'shared/header' %>

所有这一切的奇怪之处在于我在 app / views 中有一个名为 shared 的目录。我在里面有一个名为 _header.html.erb 的文件。 我正在使用Ruby 1.8.7,Rails
2.2.2,并按照文档here

更新:更奇怪。此代码在Windows下使用InstantRails(Ruby 1.8.6,Rails 2.2.2)。但是,渲染:模板似乎不起作用。我会继续调查。

2 个答案:

答案 0 :(得分:2)

如果您键入的内容是正确的,则您的部分名称不正确。它应该是“_header.html.erb”而不是“_header.erb.html”。这可能是Rails没有找到它的原因。

答案 1 :(得分:0)

自从我触及Rails 2.2以来已经有一段时间了,但我相信您正在寻找以下内容:

<%= render :template => 'shared/header' %>

编辑:对于其他任何人投票,请尝试阅读2.2.2文档并实际尝试。那时候这是一个很大的问题。