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 :name, as: :string = f.input :path, as: :string = f.input :icon, as: :string = f.input :sidebar_resource_name, collection: Rails.application.routes.named_routes.helper_names = f.association :ipy_resource, collection: IpyResource.all.order(:name) = f.association :sidebar_item = f.button :submit
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
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