shallow rails namespace examples concern ruby-on-rails-3 nested-routes

ruby-on-rails-3 - namespace - routes rails examples



Uso de rutas anidadas Rails 3 sin permitir el acceso al recurso principal (2)

Estoy usando Rails 3 y tengo dos modelos, EquipmentGroup y Reservation. Quiero que las reservas sean un recurso anidado de grupos de equipos para poder acceder a ellas con direcciones URL como:

/equipment_groups/:equipment_group_id/reservations/:id

Sin embargo, no quiero crear rutas para los grupos de equipos. Puedo lograr esto a través de lo siguiente, pero parece un hack:

resources :equipment_groups, :only => [] do resources :reservations end

¿Hay una mejor manera de hacer esto? Parece que no puedo encontrar una respuesta fácilmente en la documentación.


Puedo pensar en algunas maneras de hacer esto. Una forma es lo que has hecho arriba. Sin embargo, parece que no tiene necesidad de exponer al controlador de los grupos de equipos ni a ninguna de sus acciones, por lo que lo siguiente debería ser suficiente:

scope "/equipment_groups" do resources :reservations end

El bloque de scope agregará "/ equipment_groups" a cada ruta en él. Esto esencialmente "falsificará" una ruta anidada.


Su enfoque - es un enfoque estándar, no hay nada mejor.