在项目默认的 layout 文件 application.html.erb 中使用 partial,
<% render "help" %>
已经在 layouts 文件夹中放了_help.html.erb 文件
然后调用页面 demo/index http://localhost:3000/demo/index
报错说:
Missing partial demo/help, application/help with {:locale=>[:zh], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/home/vagrant/vdata/rnes/app/views"
* "/home/vagrant/.rvm/gems/ruby-2.0.0-p0/gems/twitter-bootstrap-rails-2.2.6/app/views"
问题解决倒不难,改成<% render "layouts/help" %>
就可以了。
但是我想问一下如果仅指明 partial 文件名,在 layouts 中调用 partial 的路径调用顺序是怎样的?看报错信息似乎是从当前渲染页面的路径中找而不是在 layouts 文件夹中找,如果 miss 了似乎还会找到application/help
里去(经过测试确实是找到 application/help 里去了)。这个文件夹有点诡异啊,为什么不是默认的 layouts 文件夹呢?