【问题标题】:Traversing back up through shallow nested resources?遍历浅层嵌套资源?
【发布时间】:2017-10-17 23:43:03
【问题描述】:

如果应用程序支持浅层路由,这会在遍历资源时截断资源,那么以前访问过的对象如何返回?是否需要深度嵌套的路由?

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

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,因为 :mid_level_id 在 top_level/:top_level_id/roofs 路径路径中不可用?

即使在相当简单的场景中,这种情况也会立即引起注意......一旦用户决定编辑屋顶,路线路径只包含roof/:roof_id。如果之前的 id 已“丢失”,如何发出正确的重定向以返回到 top_level 屋顶的索引(即 top_level/:top_level_id/roofs)?

感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails routes nested ruby-on-rails-5


    【解决方案1】:

    大概你的Roof 模型有一个外键链接到TopLevel。如果是这样,则从数据库中提取的Roof 记录具有可在呈现页面中使用的属性top_level_id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 2018-05-22
      • 2021-06-02
      • 2014-03-19
      • 1970-01-01
      相关资源
      最近更新 更多