Próbuję uzyskać nazwę kontrolera i akcji na podstawie ścieżki. Mam trasę:Ruby on Rails: pobierz nazwę kontrolera i akcji na podstawie ścieżki
map.resources :permissions
Myślałem, że mogę używać:
ActionController::Routing::Routes.recognize_path "/permissions/1"
Aby uzyskać hash jak:
{ :controller => "permissions", :action => "show" }
Rzeczywista hash, że wraca się:
{ :controller => "permissions", :action => "1" }
Jak uzyskać poprawną nazwę akcji zamiast tylko mojego przekazanego ID? Dyspozytor musi być w stanie jakoś się do niego dostać, albo Rails nie będzie działał, ale mam problem ze zlokalizowaniem sposobu jego wykonania.
mam upoważnienie tras opartych na miejscu . Zasadniczo w mojej bazie danych podłączam kontrolery i akcje, które chcę tylko dla niektórych użytkowników i traktuję je jako uprawnienia. Łączę te uprawnienia w role i przypisuję je moim użytkownikom. Gdy odwiedzana jest strona chroniona, filtr "przed" określi, czy użytkownik może być na tej stronie. To działa świetnie (używając metod, które zasugerowałeś). Teraz muszę dynamicznie wyświetlać link w zależności od tego, czy użytkownik może odwiedzać stronę za linkiem. Nie mam dostępu do kontrolera docelowego, tylko ścieżkę. –