Как сохранить данные с paper_trail и показать новые данные позже?
Я использую paper_trail с рельсами 4, и я хотел бы иметь возможность сделать это:
то, что я хочу сделать, это запустить грубое действие, но я не хочу, чтобы оно отображалось на сайте мгновенно, я хочу, чтобы оно было сохранено в таблице версий, а затем запустило действие, скажем, ночью, которое обновит сайт с измененными данными из версий.
Допустим, у меня есть продукт: Имя: Nike, Цвет: Синий И в течение дня я добавляю новый продукт: Имя: Nike, Цвет: Черный. Я не хочу, чтобы этот новый продукт был показан сразу, но я хочу, чтобы он был сохранить в papertrail и в более позднее время взять сохраненные данные и показать их. Это относится ко всем грубым операциям.
Так что, если бы я изменил название продукта, старый будет отображаться до тех пор, пока я не запущу сохраненные данные из papertrail и покажу их.
Надеюсь, что мне удалось объяснить мой вопрос, и у меня возникли проблемы, когда я обдумывал его.
Спасибо за ваше время.
1 ответ
Я бы порекомендовал более легкое решение вашей проблемы:
Вы можете сохранить состояние с вашими данными, скажем, "new" - это первое состояние, когда пользователь отправляет данные. В вашем приложении вы используете default_scope
чтобы убедиться, что только данные с состоянием "проверено" или "опубликовано" или что-либо еще видны пользователям.
Затем вы можете выполнять любую магическую операцию, которую хотите выполнить ночью, без особых трудностей при копировании данных из А в Б.