Rails - 指定资源可用操作的良好实践?

时间:2013-08-07 05:41:57

标签: ruby-on-rails

仅指定routes.rb中可用的路由有什么好处:

resources :users, only: [:new, :create]

即使控制器中没有关于操作方法的视图,也不要忽略操作,例如:

resources :users

如果这是一个好习惯,有什么好处?

2 个答案:

答案 0 :(得分:3)

除了不是懒惰的工程师之外,我在这里看到了几个好处;)

DRY路线,清洁代码

在某些时候,您的Rails应用程序中可能有很多路由。将REST路由限制为仅需要的路由将帮助您查看应用程序实际可用的路由。

当运行rake routes时,仅使用有用的路由将更有效地将所有已使用和未使用的路由合并在一起。

按顺序解析路径

每次您或某人在您的服务器上发出HTTP请求时,Rails都必须解析您的路径文件以找到匹配项。

  

Rails路由按照指定的顺序进行匹配,所以如果你   有一个资源:上面的照片得到'照片/民意调查'的节目动作   资源线的路线将在获取线之前匹配。

使用未使用的路由可能会减慢某些时候Rails的解析速度(您不会看到与少量路由有任何差异)。

答案 1 :(得分:2)

有限的资源路由将使您的代码更易于遵循。

路由表越小,占用的内存越少 - 路由识别和生成所需的处理时间就越少。

它还可以通过删除未使用的路由来降低应用程序的攻击面,这是一个安全的胜利。