Ruby on rails Rails MVC概念在实践中的应用

Ruby on rails Rails MVC概念在实践中的应用,ruby-on-rails,model-view-controller,Ruby On Rails,Model View Controller,实际上,我并不是在问问题,而是关于如何编写代码以很好地适应Rails MVC模式的建议(或建议)。希望rails老手或熟悉MVC的人能给我一些反馈 我有一个通过ActiveResource与RESTful api应用程序对话的web应用程序。它可以使用API调用获取和更新内容。它工作得很好。但是,该web应用程序没有任何型号。它的工作方式是当用户触发一个操作(索引、查看、编辑等)时,控制器将直接调用RESTAPI来获取/更新数据 我的问题是:这样做是一种好的做法,还是我应该在其中创建模型并填充数

实际上,我并不是在问问题,而是关于如何编写代码以很好地适应Rails MVC模式的建议(或建议)。希望rails老手或熟悉MVC的人能给我一些反馈

我有一个通过ActiveResource与RESTful api应用程序对话的web应用程序。它可以使用API调用获取和更新内容。它工作得很好。但是,该web应用程序没有任何型号。它的工作方式是当用户触发一个操作(索引、查看、编辑等)时,控制器将直接调用RESTAPI来获取/更新数据

我的问题是:这样做是一种好的做法,还是我应该在其中创建模型并填充数据,而不是直接调用api?我想知道这是否只是对MVC的一种务实的妥协。我刚刚开始使用Rails(和MVC),因此我愿意接受关于此“模型由应用程序数据和业务规则组成”(wikipedia)的任何想法、评论或建议

模型本质上是本地数据库中的表

如果不存储任何数据,不验证任何数据,则不需要模型


如果您想清理代码,可以将一些函数放在助手或/lib中,这有点像第二十二条军规。(我确实写了一个巨大的答案,但后来被删除了,因为它太乏味了,无法阅读)

如果你的意思是,你能在没有模型的情况下实现MVC模式,那么答案是否定的,M意味着模型

如果他们的意思是,你能在不使用模型的情况下使用MVC吗,那么答案是“是”,但它不再是MVC,你已经抹去了M即模型

我建议您详细阅读MVC模式,然后尝试了解您的应用程序实际要做什么

如果你想了解设计模式,这是一个非常好的地方

  • 模型是表示数据甚至活动的对象,例如 数据库表甚至是一些车间生产机器的过程
  • 视图是模型状态的某种可视化形式
  • 控制器提供了更改模型状态的工具
现在在您的案例中(看起来):您确实有一个通过api传递的数据,因此我建议填充模型属性并将其传播到各个领域

同时考虑MVC中的务实折衷以基于实践而非理论考虑的方式理智而现实地处理事情。在MVC中省略模型的使用听起来不是一个好主意,它也不再是MVC了

说到这里从你的角度来看,你似乎想说Rails不一定是严格意义上的MVC,因此为什么不使用你想要的方式:),但我建议保持MVC的完整性(并遵循纯粹主义的方法)

读得好:杰夫·阿特伍兹:(请跳过asp.net部分)

将其全部相加
:)
上面提到了源代码


错了。MVC中的模型实际上是一个包含所有领域业务逻辑的层。它不是一个具体的类或对象。你所谓的“模型”实际上是什么。