Rails 3:如何获取当前布局的名称?

Shp*_*ord 4 ruby-on-rails ruby-on-rails-3

在我的控制器中我有:

render :layout => 'mobile'
Run Code Online (Sandbox Code Playgroud)

在我看来,我希望能够获得布局的名称,在本例中为"mobile".

我不需要控制器或动作名称......只需要布局的名称.

我正在使用Rails 3.0.6.

Mar*_*nez 10

我迟到了,但试试这个:

controller.send(:_布局).virtual_path.name

在Rails 3.2中测试

  • 这有效,但不需要`virtual_path.name` (5认同)

tma*_*ini 0

为什么不在控制器中创建变量:

@layout = 'mobile'
render :layout => @layout
Run Code Online (Sandbox Code Playgroud)

@layout然后你就可以在你的视图中访问

  • 因为有更好的方法可以做到这一点:“controller.send :_layout”。 (4认同)