Rails agrega soporte para “shallow nested routes”
Friday, 05 September , 2008
Muchas veces cuando tenemos recursos anidados nos encontramos definiendo un map.resource (o una ruta) adicional para acceder al mismo recurso pero sin la anidación. Para referenciar a un miembro específico de este sin el prefijo del padre sin tener que definir otra ruta, Rails edge agrega una opción a map.resource para lograr esto.
Ejemplo:
map.resources :users, :shallow => true do |user| user.resources :posts end
* GET /users/1/posts (mapea a la acción PostsController#index action como siempre)
se agrega la ruta nombrada “user_posts” como siempre.
Lo nuevo:
* GET /posts/2 (mapea a la acción PostsController#show como si no sería anidada)
Adicionalmente, se agrega también la ruta nombrada “post”.


