2

仅指定 routes.rb 中可用的路线是否有任何好处,例如:

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

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

resources :users

如果这是一个好的做法,有什么好处?

4

2 回答 2

3

除了不是懒惰的工程师外,我还看到了一些好处;)

DRY 路线,干净的代码

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

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

路由按顺序解析

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

Rails 路由按照指定的顺序进行匹配,因此如果您在 get 'photos/poll' 上方有一个资源 :photos,则资源行的 show action 路由将在 get 行之前匹配。

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

于 2013-08-07T05:47:47.840 回答
2

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

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

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

于 2013-08-07T05:50:07.283 回答