如何获取控制器可用的操作列表?

时间:2012-03-07 20:49:06

标签: ruby-on-rails

我做了MyController.methods 它列出了一切......我甚至不知道控制器可以做的事情!

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

使用Ruby on Rails 2.3.8

2 个答案:

答案 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"]

希望这有帮助!