22

我正在使用 Rails 3,我有两个模型 EquipmentGroup 和 Reservation。我希望预订成为设备组的嵌套资源,以便我可以使用以下 URL 访问它们:

/equipment_groups/:equipment_group_id/reservations/:id

但是,我不想为设备组创建路线。我可以通过以下方式实现这一点,但这似乎是一个 hack:

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

有一个更好的方法吗?我似乎无法在文档中轻松找到答案。

4

2 回答 2

10

您的方法 - 这是一种标准方法,没有比这更好的方法了。

于 2015-06-12T09:08:52.370 回答
0

我可以想到几种方法来做到这一点。一种方法是您在上面所做的。但是,您似乎不需要公开设备组控制器或其任何操作,因此以下内容应该就可以了:

scope "/equipment_groups" do
    resources :reservations
end

scope块会将“/equipment_groups”附加到其中的每条路线。这将实质上“伪造”嵌套路由。

于 2011-09-01T03:33:27.683 回答