Rails布局名称在视图中

时间:2010-04-12 13:03:35

标签: ruby-on-rails layout views

如何在视图中打印出当前布局的名称?

实施例

puts controller.current_layout

THX

3 个答案:

答案 0 :(得分:10)

这适用于Rails 3.0.7:

controller.send :_layout

显然,这是一种私人方法,因此请自担风险。

答案 1 :(得分:5)

这对我有用:response.layout

更新: 是的,response.layout在rails3 +中不起作用,因此我通常在每个布局中定义一个@layout_name变量。

application.html.haml

的示例
- @layout_name = 'application'
!!! Strict
%html
...

答案 2 :(得分:4)

<%= controller.active_layout %>获取布局文件名。因此layout 'application'会返回layouts/application.html.erb

在Rails 2.1.0和更高版本中