4、ActiveRecord 全面解析:从基础操作到关联关系

ActiveRecord核心功能详解

ActiveRecord 全面解析:从基础操作到关联关系

1. 序列化属性与 CRUD 概述

1.1 序列化属性

ActiveRecord 有个很强大的特性,就是可以将 text 类型的列标记为序列化列。写入这种属性的任何对象(确切地说是对象图),都会以 YAML 格式存储在数据库中,YAML 是 Ruby 标准的序列化格式。不过要注意,TEXT 类型列的最大长度是 64K,如果序列化属性超过这个长度,就会出现很多错误。要是序列化属性特别长,就得重新考虑方案了,比如把这些属性移到单独的表中,并选择更长的数据类型(如果数据库支持的话)。

1.2 CRUD 操作

CRUD 代表了任何数据库的四个标准操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。虽然在英语里“crud”有“无用杂物”的意思,但在 Rails 领域,使用“CRUD”是完全被认可的。而且,将应用功能设计成一系列 CRUD 操作,被认为是最正确的做法。

2. 创建 ActiveRecord 实例

2.1 使用 new 方法

创建 ActiveRecord 模型新实例最直接的方法,就是使用 Ruby 的常规构造机制—— new 类方法。新创建的对象可以是空的(不传递参数),也可以带有已设置但尚未保存的属性。只需给构造函数传递一个哈希,哈希的键名与关联表的列名对应即可。不过,允许的键是由表中的列名决定的,不能设置没有对应列的属性。

c = Client.n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值