我正在使用controller.controller_name
查看我的位置,并在菜单上设置active
课程。
问题是我的路线中有namespace: :admin
......我需要检查我是否在任何继承自AdminController
的控制器中。现在,controller_name
只会提取子控制器的名字......但实际上我需要它来说'admin'。
如何访问它继承的控制器的名称?
答案 0 :(得分:2)
如果我正确理解你的问题,你可以这样做:
controller.class.superclass
如果您当前的控制器确实从AdminController
继承,则应返回AdminController
。
此外,controller.class
应该为您提供完全命名空间的控制器名称。
答案 1 :(得分:1)
尝试controller.ancestors.include?(AdminController)
答案 2 :(得分:0)
只需使用parent
:
controller.class.parent