如何在视图中打印当前布局的名称?
示例
谢谢。
示例
puts controller.current_layout
谢谢。
puts controller.current_layout
这适用于Rails 3.0.7:
controller.send :_layout
显然,这是一个私有方法,所以请自行承担使用风险。
这对我有用:response.layout
更新: 确实,在rails3+中response.layout不起作用,因此我通常在每个布局内定义一个@layout_name变量。
application.html.haml的示例:
- @layout_name = 'application'
!!! Strict
%html
...
#layout
现在是ActionDispatch::Response
内部的一个私有方法。 - cpjolicoeur<%= controller.active_layout %>
可以获取布局文件的名称。因此,layout 'application'
将返回 layouts/application.html.erb
在Rails 2.1.0及以上版本中。