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