如果一个应用程序支持浅层路由,它会在遍历资源时截断资源,那么以前访问过的对象如何被移回?它是否需要深度嵌套的路由?
例如,假设我们有类似
的内容resources :basement, shallow: true do
resources :lower_level do
resources :mid_level do
resources :top_level do
resources :roof do
end
end
end
end
让我们假设每个地下室都有多个lower_level,每个lower_level都有多个mid_levels等。
一旦用户点击较低级别并最终到达屋顶,他怎么能回到相关的mid_level,因为:top_level /:top_level_id / roofs路径路径中没有:mid_level_id?< / p>
即使在相当简单的场景中,这种情况也会立即变得明显......一旦用户决定编辑屋顶,路径路径就只包含roof /:roof_id。如果先前的ID已经丢失&#34;?
感谢您的帮助!
答案 0 :(得分:2)
据推测,您的Roof
模型有一个外键将其链接到TopLevel
。如果是这样,从数据库中提取的Roof
记录具有可在呈现的页面中使用的属性top_level_id
。