首页 文章

通过浅层嵌套资源遍历备份?

提问于
浏览
0

如果一个应用程序尊重浅层路由,它会在遍历资源时截断资源,那么先前访问过的对象如何被移回?它需要深度嵌套的路由吗?

例如,假设我们有类似的东西

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 回答

  • 2

    据推测,您的 Roof 模型有一个外键将其链接到 TopLevel . 如果是这样,从数据库中提取的 Roof 记录具有可在呈现的页面中使用的属性 top_level_id .

相关问题