首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails路由-适合在作用域上使用命名空间的情况?

Rails路由-适合在作用域上使用命名空间的情况?
EN

Stack Overflow用户
提问于 2015-03-29 04:51:33
回答 1查看 49关注 0票数 3

在我的应用程序中,我有几个导航项是下拉菜单。我唯一的限制是下拉菜单中的每个链接都应该以其所属的菜单名作为其url路径的前缀。例如:

代码语言:javascript
复制
http://example.com/dropdown1/page1
http://example.com/dropdown1/page2
http://example.com/dropdown1/page3
http://example.com/dropdown2/page4
http://example.com/dropdown3/page5
http://example.com/dropdown3/page6

我知道在为这些页面创建路径时,我有两种选择。

  1. 用一个范围。只有url路径的作用域/前缀。
  2. 使用命名空间。除了受作用域/前缀的url外,控制器、视图、模型和路径帮助程序也将命名空间。

每个下拉列表中的页面都有不同的独立特征,但下拉列表中的每个功能都共享相同的类别。命名这些特性更有意义吗?还是只对它们进行范围分析?

EN

回答 1

Stack Overflow用户

发布于 2015-03-29 19:55:13

如果您唯一的限制是下拉菜单中的每个链接都必须以其所属的菜单名称为前缀的url路径,那么我的建议是只对这些下拉路径的路由进行范围设置

namespace提供了更大程度的开箱即用的分离,并且对于有一个管理部分或一个API层这样的场景更有用,在这些场景中,相同的资源将根据其命名空间的不同行为。

作用域提供了更多的控制,允许您指定名称空间应该是什么-在这种情况下,如果只有路由不同,那么您可以有以下内容:

代码语言:javascript
复制
scope 'dropdown1' do
  # routing here
end

Rails指南很好地解释了命名空间的使用

最常见的情况是,可以在Admin::命名空间下对多个管理控制器进行分组。您可以将这些控制器放在app/ controllers /admin目录下,并且可以在路由器中将它们分组。

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

https://stackoverflow.com/questions/29325721

复制
相关文章

相似问题

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