为什么控制器名称是复数但 application_controller 本身是单数

Why Controller names are plural but application_controller is itself a singular

为什么控制器名称是复数,而 application_controller 本身是单数。

我很好奇,当我搭建一个人的脚手架时,rails 为它生成了一个 people_controller,我印象深刻,但后来我看到了 application_controller,它是单数的。有解释还是原样?

Rails 充满了惯例,控制器的复数名称只是其中的一个惯例。当您将 resources :books 放入您的 routes.rb

时,Rails 可以找到合适的控制器

您可以覆盖约定并明确指定控制器,resources :books, controller: "library"。在这种情况下,Rails 将查找 LibraryController.

使用 ApplicationController,您不需要直接调用它,并且 Rails 不需要执行此查找,因此可以任意命名。例如,您可以重命名它。