Rails不可能渲染局部

时间:2012-03-11 11:27:38

标签: ruby-on-rails haml renderpartial

我在我的rails应用程序中使用了宝石“haml”和“haml-rails”,我有这个文件夹结构

-views
  -layouts
    -public
      -layout.html.haml
      -_header.html.haml
      -_footer.html.haml

我想使用此代码在layout.html.haml中渲染_header和_footer:

= render 'layouts/public/_header'
 .container= yield
= render 'layouts/public/_footer'

但是rails会引发MissingTemplate错误,但_header和_footer存在...

我该如何解决?

2 个答案:

答案 0 :(得分:6)

在这些帮助程序中指定部分名称时,通常会省略下划线。此外,您应该将它们作为:partial参数传递:。

= render :partial => 'layouts/public/header'
 .container= yield
= render :partial => 'layouts/public/footer'

答案 1 :(得分:1)

  

partials以前导下划线命名以区分它们   定期观看,即使他们被提到没有   下划线。

来源:Rails Guides