En rieles, puedo obtener el nombre del controlador actual a través de nombre_controlador y la acción actual llamando a nombre_actitud. Estoy buscando una reflexión en tiempo de ejecución similar para obtener lo siguiente:¿Cómo obtener la lista de controladores y acciones en ruby on rails?
- Lista de todos los controladores en la aplicación.
- Lista de todas las acciones en un controlador determinado.
Por ejemplo, I un controlador de producto que tiene acciones "agregar" y "editar". ¿Puedo ver los nombres de estas acciones programáticamente para mostrarle al usuario qué operaciones son compatibles?
He visto un método que requiere el uso de ActionController::Routing::Routes.named_routes.routes.each
pero no pude conseguir que funcione. Obtuve el error ActionDispatch::Routing::Routes
constante no inicializado cuando lo usé.
Si hay algún buen tutorial o documento que me ayude a comprender cómo funciona la reflexión del riel. Lo busqué pero casi siempre tengo blogs activos relacionados con la reflexión de registros. Estoy buscando algo que me permita obtener información sobre controladores y acciones/métodos en tiempo de ejecución.
Gracias,
Tabrez
¿Está haciendo esto en tiempo de ejecución o en un trabajo de rake. tiempo de ejecución es una mala idea. El trabajo de rastrillo es fácil de hacer. – drhenner
¿Te refieres a "rutas de rake"? Estaba buscando algo en tiempo de ejecución. No necesito la extensa información que rake las salidas de rutas. Solo necesito los nombres de los controladores, que supongo que deben estar disponibles como una colección. Ser un novato a los rieles, simplemente no sé qué objetos de contexto son accesibles en los rieles en tiempo de ejecución. – Tabrez
Encontré una pregunta similar aquí, http://stackoverflow.com/questions/1564278/how-to-programmatically-list-all-controllers-in-rails – nkm