Rails3在视图中获取当前的布局名称

前端之家收集整理的这篇文章主要介绍了Rails3在视图中获取当前的布局名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有Rails 2.X的答案,但不适用于Rails 3.我如何读取视图中呈现的当前布局的名称.

我的Rails2问题:Rails Layout name inside view

谢谢.

解决方法

让它在Rails 3.2中工作比以前概述的要复杂一些.如果您的控制器显式声明了一个布局,那么controller.send(:_ layout)的结果是一个String,但是它是一个ActionView :: Template.尝试这个:
module ApplicationHelper
  def current_layout
    layout = controller.send(:_layout)
    if layout.instance_of? String
      layout
    else
      File.basename(layout.identifier).split('.').first
    end
  end
end
原文链接:https://www.f2er.com/ruby/272119.html

猜你在找的Ruby相关文章