2011-02-10 3 views
1

Я работаю над проектом в настоящий момент, скажем, в магазине бакалейных товаров.возможность сохранить историю цен

цена молока не всегда то же самое, и у меня есть модель продукта, с products_controller и все виды мне нужно редактировать, удалять и т.д.

Однако, я также хотел бы быть в состоянии видеть какова была цена на молоко, скажем, месяц назад. С простым редактированием я просто редактирую производственный элемент, но я теряю историю.

Есть ли способ реализовать, возможно, в другой модели, где бы у меня была цена, active_date и inactive_date, поэтому, когда я что-то редактирую, она автоматически создает запись в моей таблице истории, дезактивирующую текущий элемент.

Возможно, есть хоть какой-то драгоценный камень, чтобы помочь справиться с этим?

Любые советы приветствуются

ответ

2

Это звучит как acts_as_audited камень может делать то, что вы хотите.

+0

OK, просто попробовал, и это не совсем то, что мне нужно. Он зафиксировал тот факт, что произошло изменение стоимости, но ничего более полезного. Я просто имею, сколько версий имеет элемент и пользователь. Но это не показывает мне, что такое предыдущее значение. Это что-то, что я могу захватить? – Lievcin

+0

Хммм - извините. Похоже, ты прав. Могли бы вы создать модель, которая представляет записи аудита продукта (идентификатор продукта, предыдущее значение, новое значение) и создать метод, который вызывается after_save, который создает ProductAudit с соответствующими параметрами? – Nick

+0

Верно, вам нужно будет больше поработать над этим. Также я нашел verstal_versions, мне еще не удалось заставить его работать для Rails 3, но кажется многообещающим. Спасибо – Lievcin

Смежные вопросы