我有一个用户控制器和一个名为' Users .html.haml'的布局。我遇到的问题是,Rails似乎不能自动找到用户布局。我必须告诉Users控制器中的每个动作来渲染布局。如果我不告诉动作要使用哪个布局,它就不会呈现任何布局。
当前,只有当控制器动作包含以下行时,布局才会呈现:
render :layout=>'users.html.haml'
任何想法?提前谢谢。
更新:我是个白痴。我覆盖了应用程序控制器中的"initialize"方法,它导致所有布局都无法正确加载,除非我特别告诉动作使用哪个布局。其实跟火腿一点关系都没有。谢谢你的回答。
在
中有users.html.hamlapp/views/布局
目录对吧?而不是app/views/users目录?
试试:
render :layout=>'users'
注意:我已经删除了.haml.html部分,因为那不是必需的
你还可以把布局放在控制器的顶部,比如
layout 'users'
编辑:就像@Noli说的,你的布局应该在app/views/layouts路径