posso ottenere tutti i percorsi nella mia applicazione di rotaie? Ho bisogno di un output come rake routes
e metto il risultato in un array.come ottenere tutti i percorsi nella mia applicazione di rotaie?
È possibile? Come?
posso ottenere tutti i percorsi nella mia applicazione di rotaie? Ho bisogno di un output come rake routes
e metto il risultato in un array.come ottenere tutti i percorsi nella mia applicazione di rotaie?
È possibile? Come?
Si potrebbe dare un'occhiata al modo in cui i binari sputano quei percorsi dal rake. È in /gems/rails/2.3.x/lib/tasks/routes.rake
per Rails 2. Sembra fare sostanzialmente ActionController::Routing::Routes.routes
nel caso generale e quindi interrogarlo.
Per Rails 4 è ora nella gemma delle ferrovie – Neikos
Beh, indipendentemente da dove l'avete bisogno, si potrebbe fare:
routes = `rake routes`.split("\n")
O anche:
routes = `rake routes`.split("\n").map{ |r| r.gsub(', ', ',').split(' ') }
Al fine di diffondere il mal di testa che è stato per compire questo, ho fatto questo basato su @jordini risposta:
Questo è quello che ho usato per creare tutte le autorizzazioni per la mia pagina web in una volta.
Dove ti serve questa uscita? – jordinl
Per Rails 3: 'Rails.application.routes.routes.to_a' (vedere [la mia risposta originale] (http://stackoverflow.com/a/10576105/407213)) – Dorian