如果我是用来实现等同于StackOverflow的问题,修订历史记录系统的 Ruby on Rails的,什么将我需要为了做才能达到呢?我创建就像一个wiki,用户贡献的内容可以被其他人更新网站。我需要能够跟踪这些变化的历史,但我不熟悉如何实现这一点。

解决方案:

在简单地说,这种工作方式是创建一个额外的表来跟踪变化。表中的每一行具有一个数据的“快照”,因为它存在的记录被改变之前(或只是改变的数据)。

有一个数字,已经做了大部分工作的Ruby宝石。这里是宝石的列表处理版本/修订历史。它看起来像纸径是目前这样做的最流行的宝石。莱恩贝茨记录了RailsCast提供的rel="nofollow">概述。

有帮助吗?

解决方案

当条目被编辑,你不删除(旧)项,你只需要添加一个新的版本号的新条目。当你想检索显示的条目,你挑一个最高版本号。当你想要检索的记录以显示其修订历史,您可以通过版本号挑选所有这些,对其进行排序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top