Если бы я реализовал систему, идентичную истории изменений вопросов StackOverflow, используя Ruby on Rails, что мне нужно было бы сделать, чтобы добиться этого? Я создаю сайт, который действует как вики, где пользовательский контент может обновляться другими людьми. Мне нужно иметь возможность отслеживать историю этих изменений, но я не знаком с тем, как это реализовать.
Решение:
В двух словах, это работает так: создается дополнительная таблица для отслеживания изменений. Каждая строка в таблице имеет моментальный снимок данных, существовавших до изменения записи (или только данных, которые были изменены).
Есть ряд Ruby Gems, которые уже сделали большую часть работы. Вот список жемчужин, связанных с историей версий/редакций. Похоже, Paper Trail в настоящее время является самым популярным геммом для этого. Райан Бейтс записал RailsCast с обзором использования Paper Trail.