Подтвердить что ты не робот

Использование вложенных маршрутов Rails 3 без фактического разрешения доступа к родительскому ресурсу

Я использую Rails 3, и у меня есть две модели EquipmentGroup и резервирование. Я хочу, чтобы оговорки были вложенными ресурсами групп оборудования, чтобы я мог получить к ним доступ с такими URL-адресами, как:

/equipment_groups/:equipment_group_id/reservations/:id

Однако я не хочу создавать маршруты для групп оборудования. Я могу добиться этого через следующее, но это похоже на взлом:

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

Есть ли лучший способ сделать это? Я не могу найти ответ легко в документации.

4b9b3361

Ответ 1

Ваш подход - это стандартный подход, нет ничего лучше.

Ответ 2

Я могу придумать несколько способов сделать это. Один из способов - это то, что вы сделали выше. Тем не менее, кажется, что вам не нужно выставлять контроллер групп оборудования или какие-либо его действия, поэтому следующее должно быть очень хорошим:

scope "/equipment_groups" do
    resources :reservations
end

Блок scope добавит "/equipment_groups" к каждому маршруту в нем. Это по существу "подделает" вложенный маршрут.