【问题标题】:Phoenix controllers - singular or plural?Phoenix 控制器 - 单数还是复数?
【发布时间】:2016-03-09 15:01:42
【问题描述】:

我知道 Rails 有一个非常可靠的约定来拥有多个控制器名称,例如:CustomersController。 Elixir 似乎不在乎,因为路由的方式不同。有没有一种惯用的方式来命名 Phoenix 中的控制器?

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    为了避免 Rails 中存在的一些由于在哪里使用单数和复数而造成的混乱,Phoenix 决定始终使用单数形式。此更改已在 Phoenix v0.4.0 中进行。以下是原因的解释:

    Phoenix 也不强加单数和复数命名规则。 Rails 命名规则可能会使初学者和高级开发人员感到困惑:模型使用单数名称,控制器使用复数名称,URL 助手混合使用两者等等。 Phoenix 一直使用单一规则,就像任何其他 Elixir 代码一样。 您可以为您的表和路由器路径使用复数名称,但这些名称已明确写入您的系统边界。

    为了您的方便,我将最重要的部分加粗。如果您想了解有关这些决定是在何处做出的一些讨论,请查看 Phoenix 存储库上的 issue

    【讨论】:

      【解决方案2】:

      控制器、模型和视图在 Phoenix 中都是单一的。因此,对于客户示例,约定是:

      客户控制器 客户视图 客户

      支持模型的模式和表是复数形式。

      迁移将使用:

      create table(:customers)

      架构将使用:

      schema "customers"

      您将单复数版本传递给生成器:

      mix phoenix.gen.html Customer customers

      【讨论】:

        猜你喜欢
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-22
        • 1970-01-01
        • 2011-05-22
        • 2012-02-09
        相关资源
        最近更新 更多