这是我在这个网站上发表的第一篇文章,但我一直在这里通过其他用户获得我的问题的答案,所以非常感谢你。
嗯,实际上我正在创建一个Web应用程序,特别是在rails上。 所有模型结构都已构建完毕,现在我假装开始构建控制器和路由。所以,关于构建这些路线的正确方法,我有几个问题。
我做的第一件事就是搜索一些不错的应用程序并检查它们是如何构建路由结构的。 Twitter有很好的,我注意到他们为每次登录创建了一个会话,所有以下路由都基于根级别,因此用户/帐户继承了它。 (即: http://twitter.com/status/update )
<小时/> 那么,我的应用程序的主要结构是:
帐户/博客/#{id} / pages /#{id} ...等等......
实际上,帐户所有者可以是开发人员,也可以只是一个简单的用户,而开发人员可以处理更多功能。 但是只有使用attr 开发人员:布尔设置其权限时,它才是相同的模型。
帐号{:id,:username,:email,:developer}
所以我的问题是: 如果我有两种不同的类型用户/开发者,那么创建一些不错的路线来创建此帐户的最佳方法是什么?
我在想这是否正确:
简单用户的/ account / create
开发人员/ account / create?type = developer
我可以使用在post请求中声明的额外参数,或者至少在GET上使用以显示表单吗?
<小时/> 同时我检查了一些指南,并阅读了一些 RESTful 路由 我们可以在哪里:
帐户/ 1 /博客/ 1 /页/ 1
但是例如,stackoverflow.com wesite以这种方式行事:
/ users / 165750 / ludicco 和 / users / edit / 165750
所以它使用了一点点不同的顺序。这是一种适当的格式化方法吗?
抱歉,但我有点失落,所以我不知道如何继续这个领域。 任何有关它的帮助或提示将非常感激。
提前致谢
答案 0 :(得分:1)
不幸的是,对于有人入门,没有法律可以提供指导。你可能通过阅读一些建议尽可能多地做到了。就个人而言,如果我要休息,我会尽可能避免会话,并将信息放入网址。
创建:因为您要发布名称/电子邮件/等。数据,我也会发布开发者标志。我需要更多地了解您的表单,以确定开发人员参数是否是一个好主意;在这种情况下,这无关紧要。我想说如果它是你的注册表单视图中的一个标志,那么参数就是好的,如果它们是真正不同的页面,那么一个不同的基本网址会更有意义。
常规页面:您的accounts/1/blogs/1/pages/1
对于人类来说非常明确,并且在机器上也应该很容易。 Stackoverflow使用更紧凑的表示法,带有一些冗余信息来帮助人类和搜索引擎。使用你喜欢的任何一个。