ruby on rails架构模型,视图和DTO

awe*_*wex 6 ruby-on-rails

我是一个.NET人,我试图理解Rails及其Active Record背后的概念.

正如我在所有示例中看到的,他们总是假设您的视图是模型的1:1副本.实际上,这通常不是真的.

这样保存客户的视图被接触人相关的客户.用户应该能够在一个视图中编辑两者(客户和联系人),例如)

在每个例子中,我看到他们将视图直接绑定到一个activerecord对象.所有诸如模型,验证等内容都绑定到一个直接映射到数据库的对象.

一个Rails的家伙可以解释一下在复杂的模型环境中使用Active Record在现实生活中应用的优雅方式吗?在第一时间我正在考虑DTO,但我无法想象这是Rails的方法.

Joh*_*ley 0

因为 Rails 使用 MVC 架构,所以完全有可能(而且通常很常见)有一个控制器来协调多个模型并将它们提供给视图进行渲染。

我认为考虑数据传输对象是一条死胡同,因为它们只是愚蠢的数据持有者,而 Rails 中的 ActiveRecord 模型更聪明。它们具有关联的模型(我知道 DTO 可以与其他 DTO 具有结构关系)、自定义查找器方法和验证逻辑。