首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails上的嵌套资源

Rails上的嵌套资源
EN

Stack Overflow用户
提问于 2014-09-28 03:20:26
回答 1查看 75关注 0票数 0

我的routes.rb文件是这样的:

代码语言:javascript
复制
  resources :campi do
    resources :unities do
      resources :buildings do
        resources :networks
      end
    end
  end

正如你所看到的,我在建筑物里有网络,在统一中有建筑物,在校园里有统一。但是,如果我有,例如:

校园编号: 10统一号: 20楼ID: 30网络号码: 40

我的网址是:/campi/10/unities/20/buildings/30/networks/40

我希望它是:/10/20/30/40

我该怎么做?

是的,我的模型都是正确的,以适当的方式使用has_many。

编辑:--我希望它像这样工作:

例如,如果我同意,/10/20/buildings,我将访问统一20内部的建筑物集合,它包括crud方法的页面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-28 20:06:22

根据Rails从外部路由到中的最后一节

深度嵌套的资源很快就会变得很麻烦。例如,在这种情况下,应用程序将识别路径,例如:

代码语言:javascript
复制
 /publishers/1/magazines/2/photos/3

相应的路由助手将是publisher_magazine_photo_url,要求您在所有三个级别指定对象。事实上,这种情况令人困惑,以至于Jamis的一个流行的文章为良好的Rails设计提出了一条经验法则: 资源不应嵌套超过1层深度。

我建议你想办法避免这种情况。但是,如果您无法避免这种安排,那么您必须定义一个指定的路径来解决这种情况:

代码语言:javascript
复制
get '/:campi_id/:unity_id/:building_id/:network_id', to: 'networks#show',   as: :network
get '/:campi_id/:unity_id/buildings',                to: 'buildings#index', as: :buildings

我希望你明白这个想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26081283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档