【发布时间】:2013-07-11 17:03:09
【问题描述】:
我有一个名为 Client 的模型,它具有 3 个属性:姓名、电话和电子邮件。 一开始,我有一个带有一些值的客户端实例:Mark、+54261334455 和 fake@client.com。然后我将这些值更改为:Peter, +54261444444, another@mail.com 但我需要保留旧值。我该怎么做?
我的选择:
- 创建 old_attr 列:姓名、电话、电子邮件、old_name、old_phone 和 old_email。我认为这是一个丑陋的解决方案...
- 使用serialize 保留仅具有额外字段的旧数据:姓名、电话、电子邮件和数据。我认为这不是一个好主意,因为您需要多次操作旧数据。
- 创建 2 个客户端实例。一个带有旧数据,另一个带有新数据,向客户端模型添加了一个额外的字段来关联这些对象。我认为这是更好的解决方案,但由于将“一个客户端”一分为二,我需要增加很多逻辑
有更好的想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord rails-activerecord revision-history