Как получить список действий, доступных для контроллера? - PullRequest
14 голосов
/ 08 марта 2012

Я сделал MyController.methods, и он перечислил ВСЕ ... вещи, которые я даже не знал, что могут сделать контроллеры!

Как мне вернуть список действий, таких как create, edit, new, destroy, other_action, other_non_protected_or_private_method?

Использование Ruby on Rails 2.3.8

Ответы [ 2 ]

16 голосов
/ 08 марта 2012

Не уверен, что это будет работать в 2.38, но я подумал, что это стоило того:

Чтобы процитировать соответствующую часть:

Чтобы получить все действия вконтроллер, используйте action_methods

PostsController.action_methods

Это вернет Set, содержащий список всех методов в вашем контроллере, которые являются «действиями» (используя ту же логику, которую использует Rails для определения, является ли метод допустимымдействие для маршрутизации в).

15 голосов
/ 21 ноября 2012

Используйте #instance_methods (false) для получения только определенных действий контроллера:

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...