如果我要使用Ruby on Rails实现一个与 StackOverflow 问题修订历史相同的系统,我需要做什么才能实现这一目标?我正在创建一个类似于 wiki 的站点,用户贡献的内容可以由其他人更新。我需要能够跟踪这些更改的历史,但我不熟悉如何实现这一点。
解决方案:
简而言之,它的工作方式是创建一个额外的表来跟踪更改。表中的每一行都有一个数据的“快照”,因为它在记录更改之前存在(或只是更改的数据)。
有许多 Ruby Gems 已经完成了大部分工作。这是处理版本控制/修订历史的 gem列表。看起来Paper Trail是目前最受欢迎的宝石。Ryan Bates 录制了 RailsCast,提供了使用 Paper Trail 的概述。