Ruby on rails 如何设计模型

Ruby on rails 如何设计模型,ruby-on-rails,model-view-controller,Ruby On Rails,Model View Controller,我正在尝试创建一个rails应用程序,其中每个用户模型都可以有一个团队模型和一个体育场模型,并且可以在一个联赛中竞争。每个队包含球员、一名教练、一名厨师等,每个体育场包含一家酒店、一个停车场等 可以理解,所有这些球员、教练等等。。将影响团队的获胜机会,停车场和酒店等的水平将影响一段时间内的收入 问题(源于我根本不是一个程序员的事实)是我无法决定这些球员、教练、厨师、酒店、停车场等是否应该是单独的模型,或者只是团队和体育场模型的属性。毕竟,如果用户将酒店从1层升级到2层,例如体育场的价值可能会乘以

我正在尝试创建一个rails应用程序,其中每个用户模型都可以有一个团队模型和一个体育场模型,并且可以在一个联赛中竞争。每个队包含球员、一名教练、一名厨师等,每个体育场包含一家酒店、一个停车场等

可以理解,所有这些球员、教练等等。。将影响团队的获胜机会,停车场和酒店等的水平将影响一段时间内的收入

问题(源于我根本不是一个程序员的事实)是我无法决定这些球员、教练、厨师、酒店、停车场等是否应该是单独的模型,或者只是团队和体育场模型的属性。毕竟,如果用户将酒店从1层升级到2层,例如体育场的价值可能会乘以1.2。但我认为,对于比赛获胜条件(进球、失误、受伤等)的更现实的计算,可能更适合使用单独的模型。所以我知道这取决于函数或游戏机制。但由于我在这些领域没有经验,我无法规划基地。有人能提出建议吗


有人能澄清这个问题吗?我已经阅读了很多MVC文章,但我仍然难以理解MVC。

首先,这是一个仅与模型有关的问题,而不是与MVC有关的问题。以下是需要(或不需要)模型时的一些想法:

  • 如果您希望保留一个基本值(字符串、数字、日期),则不需要额外的模型。例如,如果您只想存储stadiums值(无论是什么),则无需为此创建
    Stadium
    模型
  • 如果可能的模型有多个要保留的值,则需要创建其他模型。保留例如
    stadium\u值
    stadium\u名称
    stadium\u大小
  • 如果可能的模型不仅具有属性,而且具有行为,那么定义该行为(作为方法)的自然位置就是模型类。因此,如果您想通过组合模型的其他属性来计算体育场的
    值,那么模型
    体育场
    就是这样的自然场所
这完全独立于Rails,适用于所有基于对象或面向对象的语言

添加 没有你的全部知识,很难做出决定。最后,我们将讨论如何从数据库中检索和存储模型对象,以及如何在浏览器中显示它们。只要一个可能的模型对象仅为一个值(如培训师名称),它就会更快、更容易实现并在浏览器中显示。当你需要的不仅仅是教练的名字时,它就会断裂。因此,提前做好充分的设计,以明确哪些是真实的模型对象,并在发现遗漏一个对象时尽早做出反应


PS:如果你根本不是一名程序员,你将面临用Rails实现它的困难…

如果我理解正确,你建议只需要一个用户、一个团队和一个体育场模型就足够了,因为停车场、酒店等将存储一个值。但团队模式不适合,因为例如培训师模式将包括许多属性,如姓名、防御奖金、攻击奖金等。因此,无需将属性凌乱到超出必要的程度。在我的答案中添加了一些内容,希望它更清楚一点。非常感谢,我正在考虑询问您到底添加了什么!