【发布时间】:2021-11-06 01:24:23
【问题描述】:
为什么控制器名称是复数,而 application_controller 本身是单数。
当我为一个人和 rails 为它生成一个 people_controller 时,我很好奇,我印象深刻,但后来我看到了 application_controller,它是单数的。有解释还是原样?
【问题讨论】:
标签: ruby-on-rails model-view-controller
为什么控制器名称是复数,而 application_controller 本身是单数。
当我为一个人和 rails 为它生成一个 people_controller 时,我很好奇,我印象深刻,但后来我看到了 application_controller,它是单数的。有解释还是原样?
【问题讨论】:
标签: ruby-on-rails model-view-controller
Rails 充满了约定,控制器的复数名称只是其中一种约定。这样当您将 resources :books 放入您的 routes.rb 时,Rails 可以找到合适的控制器
您可以覆盖约定并明确指定控制器resources :books, controller: "library"。在这种情况下,Rails 会寻找LibraryController。
使用ApplicationController,您不必直接调用它,Rails 也不需要进行此查找,因此可以任意命名。例如,您可以重命名它。
【讨论】:
resource 宏时,它将使用复数形式而不是单数形式。 #1 更好地解释它,它是一个基类并且不对应于实际资源。