Dans Rails, une route pleine de ressources fournit une correspondance entre les verbes et URL HTTP et les actions du contrôleur. Par convention, chaque action correspond également à des opérations CRUD particulières dans une base de données. Une seule entrée dans le fichier de routage, telle que
resources :photos
crée sept routes différentes dans votre application, toutes mappant au contrôleurPhotos:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
Les ressources peuvent également être imbriquées à l’infini en utilisant cette syntaxe de bloc :
resources :photos do resources :commentsend
Cela génère les routes de commentaires suivantes :
Options
Prend les mêmes options que Base#match ainsi que :
:path_names
Permet de modifier le composant segment des actions edit et new. Les actions non spécifiées ne sont pas modifiées.
resources :posts, path_names: { new: "brand_new" }
L’exemple ci-dessus changera maintenant /posts/new en /posts/brand_new
:path
Vous permet de changer le préfixe du chemin pour la ressource.
resources :posts, path: 'postings'
La ressourceet tous les segments routeront maintenant vers /postings au lieu de /posts
:only
Génère uniquement des routes pour les actions données.
resources :cows, only: :showresources :cows, only:
:except
Génère tous les itinéraires sauf pour les actions données.
resources :cows, except: :showresources :cows, except:
:shallow
Génère des itinéraires peu profonds pour la ou les ressources imbriquées.Lorsqu’il est placé sur une ressource parent, génère des itinéraires peu profonds pour toutes les ressources imbriquées.
resources :posts, shallow: true do resources :commentsend
C’est la même chose que :
Cela permet aux URL pour les ressources qui seraient autrement profondément imbriquéescomme un commentaire sur un article de blog comme/posts/a-long-permalink/comments/1234 d’être raccourcies à juste/comments/1234.
:shallow_path
Préfixe les shallowroutes imbriqués avec le chemin spécifié.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
La ressource commentshere aura les routes suivantes générées pour elle:
:shallow_prefix
Préfixe les noms de shallowroute imbriqués avec le préfixe spécifié.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
La ressource commentshere aura les routes suivantes générées pour elle:
:format
Vous permet de spécifier la valeur par défaut du segment optionnel format ou de le désactiver en fournissant false.