Как сохранить данные с paper_trail и показать новые данные позже?

Я использую paper_trail с рельсами 4, и я хотел бы иметь возможность сделать это:

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

Допустим, у меня есть продукт: Имя: Nike, Цвет: Синий И в течение дня я добавляю новый продукт: Имя: Nike, Цвет: Черный. Я не хочу, чтобы этот новый продукт был показан сразу, но я хочу, чтобы он был сохранить в papertrail и в более позднее время взять сохраненные данные и показать их. Это относится ко всем грубым операциям.

Так что, если бы я изменил название продукта, старый будет отображаться до тех пор, пока я не запущу сохраненные данные из papertrail и покажу их.

Надеюсь, что мне удалось объяснить мой вопрос, и у меня возникли проблемы, когда я обдумывал его.

Спасибо за ваше время.

1 ответ

Я бы порекомендовал более легкое решение вашей проблемы:

Вы можете сохранить состояние с вашими данными, скажем, "new" - это первое состояние, когда пользователь отправляет данные. В вашем приложении вы используете default_scope чтобы убедиться, что только данные с состоянием "проверено" или "опубликовано" или что-либо еще видны пользователям.

Затем вы можете выполнять любую магическую операцию, которую хотите выполнить ночью, без особых трудностей при копировании данных из А в Б.

Другие вопросы по тегам