Estoy tratando de obtener el controlador y el nombre de la acción en función de una ruta. Tengo una ruta:Ruby on Rails: obtenga el nombre del controlador y la acción en función de una ruta
map.resources :permissions
pensé que podría utilizar:
ActionController::Routing::Routes.recognize_path "/permissions/1"
Para obtener un hash como:
{ :controller => "permissions", :action => "show" }
El hash real que viene de vuelta es:
{ :controller => "permissions", :action => "1" }
¿Cómo obtengo el nombre de la acción correcta? en lugar de solo mi ID pasada? El despachador debe poder acceder a él de alguna manera o Rails no funcionaría, pero tengo problemas para localizar cómo se realiza.
tengo la autorización basada en ruta en lugar . Básicamente, en mi base de datos conecto los controladores y las acciones que solo quiero que sean accesibles para ciertos usuarios y los trato como permisos. Incluyo estos permisos en roles y los asigno a mis usuarios. Cuando se visita una página protegida, un filtro anterior determinará si el usuario puede estar en esa página. Eso está funcionando bien (usando los métodos que sugirió). Ahora necesito mostrar dinámicamente un enlace según si el usuario puede o no visitar la página detrás del enlace. No tengo acceso al controlador de destino, solo la ruta. –