Ruby on Rails 中的 Active Record 与 Active Model 深入剖析
1. Active Record 概述
Ruby on Rails 框架包含多个组件或子框架,在各种 Web 应用程序进程中发挥着不同作用,如处理 HTTP 请求、执行后台任务等。其中,Active Pack 负责 HTTP 层,而 Active Record 则负责模型层。
对于新组件前缀的选择,通常与用户交互相关的组件使用 “Action” 前缀,而与模型相关的库使用 “Active” 前缀,还有一个库 Railties 用于连接二者。
在 MVC 模式中,模型负责管理数据和业务逻辑。那么,仅靠 Active Record 支持的单个模型抽象能否处理所有这些职责呢?接下来,我们将从数据库底层到业务逻辑顶层深入剖析 Active Record 的功能。
2. 对象关系映射(ORM)
Active Record 库的主要职责是提供对存储在关系型数据库中的应用程序数据的访问。应用程序与 SQL 数据库之间的通信方式主要有两种:
- 手动编写 SQL 查询并使用原始结果数据。
- 使用对象关系映射(ORM)技术。
虽然手动编写 SQL 有时会带来一定好处,但在大多数情况下,使用 ORM 进行数据库操作更高效。因此,我们主要关注 ORM 方式。
ORM 使用面向对象的语言与数据存储进行通信。通过 ORM API 方法查询数据库,结果是对象而非基本数据类型。同样,向数据库写入数据也是通过创建或更新对象来完成,ORM 会在底层执行所有必要的操作,如构建 SQL 查询。
超级会员免费看
订阅专栏 解锁全文
607

被折叠的 条评论
为什么被折叠?



