【发布时间】:2012-03-11 02:47:34
【问题描述】:
我有一个企业、一个目录和一个产品资源。
一家企业有一个目录和许多产品。
目录永远属于企业。
产品可能在目录下,也可能不在目录下。
products 表都有 catalog_id 和 business_id。
我将如何形成路径,以便我可以允许没有目录的产品和属于目录的产品,即这些 URL:
- businesses/:business_id/catalogs/:catalog_id/products/:id
- businesses/:business_id/products/:id
我已经允许后者使用这个:
resources :businesses do
resources :catalogs
resources :products do
resources :images
end
end
如何修改它以允许第一个 URL?
我知道我只是遗漏了一些简单的东西,请随时关闭它,如果有重复的话,请参考。
非常感谢!
【问题讨论】:
-
如果这是业务需求,使用 3 级嵌套路由没有什么问题,但它是 not the rails way。只需使用 2 条就可以达到 3 级嵌套路由的效果,并且路由更加宁静。
-
@garbagecollection 介意回答如何做到这一点?用 2 实现 3 级嵌套路由?
-
Check out the routes of this project I am current working on。我在与您遇到的非常相似的问题上苦苦挣扎。目前,Forum、Topic 和 Post 3 个模型之间的关联工作得很好,没有错误。一个论坛有很多主题。一个主题有很多帖子。所以3级深在这里对我有用。但由于 2 级深度解决了这个问题,我没有费心使用 3 级深度。
标签: ruby ruby-on-rails-3 url-routing