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.