如何使用 Paper Trails 检索特定版本的版本?

How do I retrieve a versions at a certain versions with Paper Trails?

我正在努力从 vestal_version 切换到 paper_trail。
我知道 vestal 版本使用版本号,而 paper_trails 使用时间戳。

paper_trails 有一个名为 version_at(timestamp) 的方法,但我在 table 中发现很多版本具有相同的确切日期,因此该方法无法按预期工作。

我需要实现以下目标。

widget1 = widget.paper_trail.version(4)
widget2 = widget.paper_trail.version(10)
# there are a couple of way to get the diff 
# using active record diff ( I prefer this to Jeremy Weiskotten's PaperTrail)
changes = widget1.diff(widget2)
# I know I can do 
versions = widget.versions[4]  
# that only returns versions model instead of widget 

感谢您的帮助

您必须reify才能获取小部件对象

widget.versions[4].reify

查找文档和示例here