前提條件: 通常在準備新的Ruby on Rails應用程序時,我會繪製有關用戶導航的模型和關係。通常我會碰到一個我需要問自己的地方,我是否應該超越通常的「嵌套規則」,不超過1層。有時我覺得需要嵌套,而不是創建另一個命名空間路線和複製工作。
下面是一個例子:
巢或不巢?
型號:用戶,公司,地點
用戶擁有屬於許多公司(多對多)
用戶擁有屬於許多地方(多對多)
公司擁有屬於許多地方(多對多)
路線:
1級嵌套個
用戶/:USER_ID /公司/ - 列表與用戶相關的所有公司
用戶/:USER_ID /位置/ - 列表與用戶
超過1級嵌套
用戶的所有位置/:user_id/companies /:company_id/locations/- 列出用戶的所有公司位置
所以,我的問題是在RoR中嵌套超過1層的水平是否合適?是或否?爲什麼?
FTW的淺路線。這幾乎可以肯定你想要的。 LocationsController#索引與/位置無關,因爲你永遠不需要/所有/位置。但它可讓您保留/ locations/上的所有位置,而不管它與哪種類型相關聯。 –
Otto
2009-01-31 17:37:06