HAML和Rails3特定于控制器的布局无法呈现

时间:2011-04-07 23:43:16

标签: ruby-on-rails-3 layout haml

我有一个用户控制器和一个名为'users.html.haml'的布局。我遇到的问题是Rails似乎没有自动找到用户布局。我必须告诉Users控制器中的每个操作来呈现布局。如果我不告诉动作使用哪种布局,它根本不呈现布局。

目前,仅当控制器操作具有以下行时,布局才会呈现:

render :layout=>'users.html.haml'

有什么想法吗?提前谢谢。

更新: 我是个白痴。我在应用程序控制器中覆盖了“初始化”方法,它导致所有布局都被不正确地加载,除非我特意告诉动作使用哪个布局。毕竟与haml没有任何关系。谢谢你的所有答案。

2 个答案:

答案 0 :(得分:2)

您的

中有users.html.haml

app / views / layouts

目录对吗?而不是你的app / views / users目录?

答案 1 :(得分:0)

尝试使用:

render :layout=>'users'

注意:我删除了.haml.html部分,因为这不是必需的

您可以做的其他方法是将布局放在控制器的顶部,例如

layout 'users'

编辑:和@Noli说的一样,你的布局应该在app / views / layouts路径