我做了MyController.methods
它列出了一切......我甚至不知道控制器可以做的事情!
如何返回操作列表,例如create
,edit
,new
,destroy
,other_action
,other_non_protected_or_private_method
?
使用Ruby on Rails 2.3.8
答案 0 :(得分:16)
不确定this是否适用于2.38,但我认为值得一试:
引用相关部分:
要获取控制器中的所有操作,请使用action_methods
PostsController.action_methods
这将返回一个Set,其中包含控制器中所有方法的列表,这些方法是“actions”(使用Rails用于确定方法是否是路由到的有效操作的相同逻辑)。
答案 1 :(得分:15)
使用#instance_methods(false)仅检索控制器的特定操作:
CustomController.instance_methods(false)
=> ["index", "update", "show", "custom_action", "another_action"]
希望这有帮助!