我使用controller.controller_name
來查看我所在的位置,並在我的菜單上設置了active
類。如何獲取父母的controller_name?
問題是我在我的路線中有一個namespace: :admin
...我需要檢查是否在任何繼承自AdminController
的控制器中。現在,controller_name
只會拉起子控制器的名字......但我真的需要它說'管理員'。
如何訪問它繼承的控制器的名稱?
我使用controller.controller_name
來查看我所在的位置,並在我的菜單上設置了active
類。如何獲取父母的controller_name?
問題是我在我的路線中有一個namespace: :admin
...我需要檢查是否在任何繼承自AdminController
的控制器中。現在,controller_name
只會拉起子控制器的名字......但我真的需要它說'管理員'。
如何訪問它繼承的控制器的名稱?
只需使用parent
:
controller.class.parent
如果我正確理解你的問題,你可以這樣做:
controller.class.superclass
這應返回AdminController
如果您當前的控制器確實是從AdminController
繼承。
此外,controller.class
應該給你完全命名空間的控制器名稱。
嘗試controller.ancestors.include?(AdminController)
我喜歡這個最好的,但我要如何檢查是否'Admin'匹配? '.instance_of?'和'.type_of'似乎沒有工作 – Tallboy
Nevermind its just'=='....謝謝! – Tallboy
@Tallboy'=='將在你調用'to_s'時工作,否則它將無法正常工作。 – Gerry