Ruby on Rails,ActiveRecord和ActiveRelation
MVC架构中的Model层负责接受Controller收集的请求参数信息,一般来说去干两件事情。
其中最最常用的就是持久化对象的基本操作:创建、更新、查询、删除(CURD)。在Rails中进行实体对象的增删改查就不得不提到ActiveRecord,在介绍ActiveRecord之前要先对active record这个概念加以了解。
active record,注意是小写而且是两个单词。是一种编程模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。这使得我们能够方便地将数据库中的记录转化为实体对象,或将实体对象持久化到数据库中,以便业务代码中处理实体对象之间的关系而不再是数据库表记录之间的关系。其实任何关系数据库与面向对象语言交互的场景下都可以使用这种思想而不局限于某种编程语言。
ActiveRecord,一个单词。是Rails对于这种模式的一种实现,以便我们更快速的实现对象在关系数据库中的持久化开发工作。业务中的实体类继承ActiveRecord,便能方便的将数据库中的记录与实体对象之间进行转换。更近一步,ActiveRecord是一种能够让你的实体对象变“聪明”的帮手,它能够根据自己的结构推知当前的数据库结构并能够和其交互以达到对象的增删改查。
比如说,对于某一个继承了ActiveRecord的User对象来说增删改查操作变得非常方便。我们一般来说都不用关心隐藏在后面的SQL语句编写工作。
users=User.where(:email=>"")users=users.order("name ASC").limit(5)