为什么Rails命名空间路由首先放置操作名称?

时间:2016-04-29 23:11:15

标签: ruby-on-rails routing namespaces

主要是好奇心的问题;我无法从伟大的谷歌那里找到答案,而且这段时间让我感兴趣了。

# routes.rb
namespace :admin do
  resources :users
end

# produces a rout helper such as:
edit_admin_user_path

该格式背后的理由是什么,而不是:

admin_edit_user_path

将名称空间放在第一位是有意义的,因为这是命名空间的目的......

或者甚至更干净,我想,会是这样的:

admin_user_edit_path # id, <namespace>_<resource>_<action>_path

从最不具体到最具体的看起来对我来说是合乎逻辑的,但我怀疑编写Rails框架的人比我聪明,所以他们必须有这样做的理由。

1 个答案:

答案 0 :(得分:0)

我认为理性的是将HTTP /控制器Action放在第一位。因此,如果您有一个具有所有crud操作的控制器/路由,您可以通过读取第一部分而不是搜索字符串来快速区分哪个是操作

admin_user_path
new_admin_user_path
edit_admin_user_path