2012-03-07 2 views
12

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

Как вернуть список действий, таких как create, edit, new, destroy, other_action, other_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"] 

Надеется, что это помогает!

Смежные вопросы