如果一个应用程序尊重浅层路由,它会在遍历资源时截断资源,那么先前访问过的对象如何被移回?它需要深度嵌套的路由吗?
例如,假设我们有类似的东西
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_levels,每个lower_level都有多个mid_levels等 .
一旦用户点击较低级别并最终到达屋顶,他怎么能回到相关的mid_level,因为:top_level /:top_level_id / roofs路径路径中没有:mid_level_id?
即使在相当简单的场景中,这种情况也会立即变得明显......一旦用户决定编辑屋顶,路径路径就只包含roof /:roof_id . 如果先前的id被“丢失”,如何发出适当的重定向以返回top_level的屋顶索引(即top_level /:top_level_id / roofs)?
谢谢您的帮助!
1 回答
据推测,您的
Roof
模型有一个外键将其链接到TopLevel
. 如果是这样,从数据库中提取的Roof
记录具有可在呈现的页面中使用的属性top_level_id
.