Quelles nouvelles dans Rails Edge : Les Shallow routes
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.
Lun 08 sept 2008 20:11 Publié sous ruby
Mots clés edge, routes, ruby_on_rails