【问题标题】:Why Controller names are plural but application_controller is itself a singular为什么控制器名称是复数但 application_controller 本身是单数
【发布时间】:2021-11-06 01:24:23
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails model-view-controller


    【解决方案1】:

    Rails 充满了约定,控制器的复数名称只是其中一种约定。这样当您将 resources :books 放入您的 routes.rb 时,Rails 可以找到合适的控制器

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

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

    【讨论】:

    • “只有一个应用程序”——它并不像看起来那么清晰。当您使用resource 宏时,它将使用复数形式而不是单数形式。 #1 更好地解释它,它是一个基类并且不对应于实际资源。
    • @max:是的,我把第一部分全部拿出来了。我认为另一部分是更好的解释。
    猜你喜欢
    • 2022-11-28
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多