0

表中可能有一组记录,其中只有两个字段逐个记录不同,其余字段保持不变。这需要通过外键关联按表拆分来进行规范化。但是,在 Ruby-on-Rails 中,这意味着创建模型。那么,是否仍然可以减少磁盘空间的使用?

可能是,因为在记录中存储一列的多个值将要求该列是任何类型的数组是合理的。但是将字段声明为 :array 类型会导致错误。那么,有没有办法解决它?

4

1 回答 1

1

生成模型后,打开模型文件。为每个字段插入一行。

序列化:field_name

但请确保您要序列化的字段应该是类型

:文本

或者

:细绳

如果它们不是这种原始数据类型,即另一种类型,例如

:约会时间

那么它会返回一个错误。

这一步整体上是不完整的。您需要做一个补充步骤:反序列化,因为在模型级存储中,它存储为以“---\n-”开头的字符串,不适合数组类型的操作。

从模型中读取数据时,您需要执行以下步骤:

YAML.load(field_name)

其中 field_name 是指被序列化的字段。

上述步骤将返回一个数组,您可以在该数组上执行正常的数组操作。

于 2012-10-22T09:20:02.590 回答