Blog Rubynetti

Come ottengo tutti i nomi delle rotte in Rails?

Per poter ottenere tutti i nomi delle rote in Rails è sufficiente scavare all'interno di Rails.application.routes:

Rails.application.routes.named_routes.helper_names

Di seguito un esempio di uso all'interno di un form.

= simple_form_for @sidebar_item, url: admin_sidebar_items_path do |f| = f.input , as: = f.input , as: = f.input , as: = f.input _resource_name, collection: Rails.application.routes.named_routes.helper_names = f.association _resource, collection: IpyResource.all.order(:name) = f.association _item = f.button

Abbiamo notato che è possibile ottenere l'elenco delle sole path in uno dei seguenti modi: 

Rails.application.routes.named_routes.path_helpers_module.instance_methods Rails.application.routes.named_routes.instance_variable_get(:@path_helpers)

Ulteriori dettagli sono recuperabili direttamente nella sorgente.
Se qualcuno conosce metodi migliori per ottenere le rotte a disposizioni ci informi :)

Fonti:
- Stackoverflow - In Rails, how to see all the “path” and “url” methods added by Rails's routing?
- Sorgente di Rails - Route Set Class

Chi siamo?

Rubynetti è una squadra di designer, sviluppatori e programmatori specializzata in applicazioni web. Il nostro focus è portare valore e automazione nei processi umani e aziendali attraverso l'uso delle tecnologie del web.

Operiamo da più di 20 anni nel settore e siamo specializzati su Vue.js, Nuxt, Rails e React.

Lavoriamo per lo più da Venezia centro storico.

Contatti

Se hai bisogno di una mano per portare avanti o creare dal nulla un progetto digitale siamo a disposizione.