【问题标题】:Why does Rails use plurals for new and create?为什么 Rails 使用复数表示 new 和 create?
【发布时间】:2011-05-28 07:07:07
【问题描述】:

我理解为什么 Rails 的 index 方法会使用资源的复数形式 - 例如,我们显示所有 projects

而且我理解为什么 show 方法会使用单数形式 - 我们只想看到一个具有特定 ID 的 project

但我不明白为什么newcreate 会使用复数形式。有没有办法一次创建多个project?有人可以解释一下这里使用复数的其他原因吗?

【问题讨论】:

标签: ruby-on-rails pluralize


【解决方案1】:

我认为它们总是复数形式。在this page 上向下滚动一点,以查看resources :photos 生成的路由示例

无论您是获取单个资源还是发布到集合,您仍然在photos 的域中。因此,搜索photos 给定的id 域,将新照片发布到photos 域等。

【讨论】:

    【解决方案2】:

    New 和 Create 不是复数,就像我对 REST 的看法一样。相反,我会这样想:

    whatever.com 是您的基本域,whatever.com/books 表示您拥有每本名为书的资源集合。集合本身被命名为书籍。

    因此,当您想要创建一本新书时,您是在向该集合询问创建一本新书所需的信息。这变成/books/new

    当您实际创建这本书时,您将信息发布到/books。 HTTP 动词是 POST,因此当您 POST 到您的集合时,您将执行创建操作。

    这看起来像 REST 上的 good starting point

    【讨论】:

    • 谢谢。我仍然觉得在创作一本书时我想说/book/new。这没什么大不了的,但由于多元化的全部目的是让事情更像简单的英语,所以不得不说“我想创造一本新书”而不是“一本新书”的话很奇怪。
    • 为我阅读 /book 会自动提醒我指的是一些特定的现有书籍,因此 /book/new 从这个角度来看没有意义,而 /books/new 非常有意义跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    相关资源
    最近更新 更多