使用足智多谋的路线有什么好处?

What are the benefits of using resourceful routes?

即使我不希望某个控制器拥有由 resources :controllers 创建的每条路由,我是否应该使用足智多谋的路由?

例如,如果我想要除 get controllers/edit 之外的每条路线,是否有理由不删除行 resources :controllers 而只是手动添加 get controllers/newdelete controllers/destroy, 等等, 遗漏 edit?

如果您想要除示例中的一条以外的所有资源路由,您可以这样做:

resources :posts, except: :edit

这绝对比写7行排除resources提供的8条路线之一要好。

不包括 2 个操作:

resources :posts, except: [:edit, :update]

仅包括 2 个动作:

resources :posts, only: [:create, :destroy]

有关详细信息,请参阅 http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

旁注:将资源命名为 controllers 不是个好主意。这是允许的,但会引起很多混乱,因为 Controller 在 rails 世界中具有特殊含义。 http://guides.rubyonrails.org/action_controller_overview.html