gpt4 book ai didi

ruby-on-rails - Rails 以单数形式命名 Controller 有什么缺点?

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:06 24 4
gpt4 key购买 nike

我知道在 Rails 中我们遵循惯例。我们应该以复数形式命名 Controller 。最近我聘请了一名自由职业者来帮助我完成 Rails 应用程序的一部分,因为我对这个框架和 ruby​​ 真的很陌生。我有一个 PortfolioController - 这感觉不错,因为 portfolio 是条目的容器(谁说“我有投资组合”?)。自由职业者说不对,不按惯例我会麻烦,改名为PortfoliosController。我问了好几次,如果我将我的 Controller 命名为 PortfolioController 而不是 PortfoliosController 我会遇到什么确切的问题,除了“你会遇到问题”之外我没有得到任何解释".

那么,谁能告诉我这些问题是什么?

最佳答案

嗯,最简单的原因是从事该项目的任何其他人在处理代码时可能会以复数形式引用它,然后必须意识到“哦,他们决定不遵循那个 Controller 中的约定”在一段未指定的“WTF?”时间段之后当他们试图弄清楚他们做错了什么时。同样在语义上,您的 Controller 是 Portfolio 表中所有 Portfolio 的 Controller 。

在代码方面,您会遇到路由问题。您将不得不制作一堆非标准路由,因为 http://my_app/portfolios 默认情况下会转到 Controller 的 index 操作。然后,您使用 http://my_app/portfolios/1 显示一个特定的投资组合,这将向您显示 id1 的投资组合。因此,请准备好在 config/routes.rb 文件中创建和维护大量自定义路由。对于具有相同名称的事物,您会看到类似的问题,无论是复数还是单数,例如 equipment,您可以拥有一件设备或多件设备。看到这个:rails link path and routing error when model singular and plural name are the same (e.g. equipment, species) .它不仅使您的路线变得不稳定,还会导致 portfolio_pathportfolio_url 等方法发生冲突。

关于ruby-on-rails - Rails 以单数形式命名 Controller 有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21083020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com