Ruby on Rails: как отслеживать изменения, такие как StackOverflow реализует свою историю изменений?

Если бы я должен был реализовать систему, идентичную истории пересмотра вопроса StackOverflow, используя Ruby на Rails, что мне нужно сделать, чтобы достичь этого? Я создаю сайт, который действует как wiki, где пользовательский контент может быть обновлен другими людьми. Мне нужно иметь возможность отслеживать историю этих изменений, но я не знаком с тем, как это реализовать.

устранение:

в двух словах, как это работает, чтобы создать дополнительная таблица для отслеживания изменений. Каждая строка в таблице имеет "снимок" данных, существовавших до изменения записи (или только измененных данных).

есть ряд рубиновых камней, которые уже сделали большую часть работы. Вот список драгоценные камни, которые имеют дело с историей версий / ревизий. Похоже на Бумаги в настоящее время является самым популярным драгоценным камнем для этого. Райан Бейтс записал железнодорожную трансляцию обзор использования Paper Trail.

2 ответов


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


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