Rails动态编辑路径与静态编辑路径

时间:2014-02-23 08:25:11

标签: ruby-on-rails ruby ruby-on-rails-4

目前我正在研究一个Rails项目,同时通过 Michael Hartl的Ruby on Rails Tutorial 。我想我对所有内容都有基本的把握,但我很难理解为什么他将编辑路径设置为“users / edit /:id”vs vs“user / edit”。< / p>

为每个人设置静态编辑链接是否更有意义,而不是根据:id查找用户?毕竟,当前用户已经登录了,所以为什么只要编辑当前用户就可以引用正在编辑的用户:?

也许我错过了一个明显的好处,但我很想听到一些关于此的最佳实践。

提前致谢。

2 个答案:

答案 0 :(得分:1)

在rails中,资源是一个可编辑的实体,例如,您可以将产品作为资源并根据需要编辑产品规格。现在,您提到的 users / 4 / edit 的路由方案使得查找此类资源的资源ID的任务变得更加容易。在您的情况下,用户ID可以通过rails直接从URL中选取(如果路由users /:id / edit then:id将具有用户ID)

没有必要遵循这种路由风格,因为你提到用户/编辑更有意义,而且更方便。但接下来的挑战在于如何确定当前用户的用户ID?您可以根据您的rails应用程序设计使用会话变量或其他内容。

希望这有帮助!

答案 1 :(得分:0)

因为用户可以只编辑自己的个人资料。不允许编辑其他用户的个人资料。 (例如,他可以关注users/3/edit users/4/edit,但无法获得任何编辑权限。因此,我们仅使用自己的users/edit

限制这些广告