Gastón Ramos

Blog personal

← Volver al blog

Rails agrega soporte para "shallow nested routes"

Recuperado del archivo original de WordPress.

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".

También puede interesarte

Los comentarios históricos se conservan como archivo. Para conversar hoy, podés escribirme.