Shiny happy people coding

Codons avec le sourire

Quelles nouvelles dans Rails Edge : Les Shallow routes

| Comments

Traduction de l’article de Ryan Daigle, What’s new in edge rails : Shallow routes

Le système des routes avec Rails est assez malin. Dans une optique d’être le plus descriptif possible, la description des ressources est fait au niveau des URL avec une DSL spécifique pour les routes :

map.resources :users do |user| user.resources :articles do |article| article.resourcs :comments end end

Néanmoins, si cette configuration permet de voir les articles disponibles à l’URL /users/1/articles et les commentaires à l’URL /users/1/articles/1/comments, il y a des cas où on voudrais outrepasser cette hiérarchie et accéder directement à la ressource en question. Désormais avec l’option des shallow route, vous le pouvez.

map.resources :users, :shallow => true do |user| user.resources :articles do |article| article.resources :comments end end

Cette configuration permet de conserver les routes imbriquées et vous donne accès directement au route comme ceci:

articles_path #=> ‘/articles’ comments_path #=> ‘/comments’ article_comments_path(@article) #=> ‘/articles/1/comments’

Plus besoin de déclarer séparement les routes directes en plus des routes imbriquées. l’option :shallow fait tout les routes nécessaires automatiquement pour vous.