Rails不可能渲染局部

Mat*_*zzi 1 haml renderpartial ruby-on-rails

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

-views
  -layouts
    -public
      -layout.html.haml
      -_header.html.haml
      -_footer.html.haml
Run Code Online (Sandbox Code Playgroud)

我想使用以下代码在layout.html.haml中呈现_header和_footer:

= render 'layouts/public/_header'
 .container= yield
= render 'layouts/public/_footer'
Run Code Online (Sandbox Code Playgroud)

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

我怎么解决?

Ben*_*Lee 6

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

= render :partial => 'layouts/public/header'
 .container= yield
= render :partial => 'layouts/public/footer'
Run Code Online (Sandbox Code Playgroud)