Ruby on rails ROR维护对象更新的历史记录
我有一个模型,我想存储更改的历史记录,我的计划是不更新一个对象,而是创建一个新的对象,并在一场演出中只获取最新版本 这个计划带来了许多困难。首先,更新后的id会有所不同。为了解决这个问题,我保留了第二个id列,该列对于该实例的所有更新都是相同的 为此,我为第二个column创建了一个SQLite序列 我的问题是如何从模型/控制器中的这个序列中获取值,因为我只想在第一次创建对象时从中获取值,其次,我如何使用第二个ID列作为对象的URL,以便在整个更新过程中固定它Ruby on rails ROR维护对象更新的历史记录,ruby-on-rails,sqlite,Ruby On Rails,Sqlite,我有一个模型,我想存储更改的历史记录,我的计划是不更新一个对象,而是创建一个新的对象,并在一场演出中只获取最新版本 这个计划带来了许多困难。首先,更新后的id会有所不同。为了解决这个问题,我保留了第二个id列,该列对于该实例的所有更新都是相同的 为此,我为第二个column创建了一个SQLite序列 我的问题是如何从模型/控制器中的这个序列中获取值,因为我只想在第一次创建对象时从中获取值,其次,我如何使用第二个ID列作为对象的URL,以便在整个更新过程中固定它 非常感谢,查看PaperTrail
非常感谢,查看PaperTrail gem。它可能会做你想做的事情,完全回避这些问题
acts\u\u版本化的
gem可能是您想要的。我认为您的设计有点复杂。根据您的要求,您可以选择两张桌子。一个用于实时数据,一个用于存储历史(我们称之为数据历史)。在它们之间创建关联。实时数据有很多数据历史记录。这里的data_histories将有一个名为live_data_id的列,该列对所有历史记录保持不变。每次更改live_数据表时,将副本推送到历史记录并进行更改。干净多了。