У меня есть модель Customer с 3 атрибутами: имя, телефон и адрес электронной почты. В начале у меня есть экземпляр клиента с некоторыми значениями: Mark, +54261334455 и [email protected]. Затем я меняю эти значения на: Peter, +54261444444, [email protected], но мне нужно сохранить старые значения. Как я могу это сделать?Персистентные атрибуты модели ActiveRecord
Мои варианты:
- создают old_attr столбцы: имя, телефон, адрес электронной почты, предыдущее_имя, old_phone и OLD_EMAIL. Я думаю, что это уродливое решение ...
- Использовать serialize для сохранения старых данных с дополнительным полем: имя, телефон, адрес электронной почты и данные. Я думаю, что это не очень хорошая идея, так как вам нужно многократно обрабатывать старые данные.
- создать 2 экземпляра клиента. Один со старыми данными другой с новыми данными, добавляющими дополнительное поле к модели клиента для связывания этих объектов. Я думаю, что это лучшее решение, но мне нужно будет добавить много логики из-за разделения «одного клиента» на два
лучшие идеи для этого?
Эта идея в значительной степени, как мой первый вариант. Я не хочу дублировать атрибуты в одной или двух таблицах. – Leantraxxx