2012-03-07 79 views
12

我做了MyController.methods 它列出了一切...我甚至不知道控制器可以做的事情!如何获取控制器可用操作列表?

如何返回操作的列表,如createeditnewdestroyother_actionother_non_protected_or_private_method

使用Ruby on Rails的2.3.8

回答

15

不知道this将在2.38工作,但我想这是值得一试:

引述相关部分:

要获取所有在控制器的操作,使用action_methods

PostsController.action_methods 

这将返回一个包含有“动作”都在你的控制方法列表的设置(使用Rails用来决定一个方法是否是一个有效的路由路径的逻辑)。

13

使用#instance_methods(假)只能检索到控制器的具体行动:

CustomController.instance_methods(false) 
=> ["index", "update", "show", "custom_action", "another_action"] 

希望这有助于!

相关问题