6

如果我要使用Ruby on Rails实现一个与 StackOverflow 问题修订历史相同的系统,我需要做什么才能实现这一目标?我正在创建一个类似于 wiki 的站点,用户贡献的内容可以由其他人更新。我需要能够跟踪这些更改的历史,但我不熟悉如何实现这一点。

解决方案:

简而言之,它的工作方式是创建一个额外的表来跟踪更改。表中的每一行都有一个数据的“快照”,因为它在记录更改之前存在(或只是更改的数据)。

有许多 Ruby Gems 已经完成了大部分工作。这是处理版本控制/修订历史的 gem列表。看起来Paper Trail是目前最受欢迎的宝石。Ryan Bates 录制了 RailsCast,提供了使用 Paper Trail 的概述

4

2 回答 2

3

编辑条目时,您不会删除(旧)条目,只需添加具有新版本号的新条目。当您想要检索一个条目以进行显示时,您选择具有最高版本号的条目。当您想要检索条目以显示其修订历史时,您可以选择所有条目并按版本号对其进行排序。

于 2010-09-30T17:29:21.093 回答
1

我知道这是旧的,但任何遇到这个的人都应该查看Paper Trail

于 2015-11-22T02:58:51.277 回答