我是Rails / Ruby的新手。我正在开发一个项目,我们希望在某些操作发生时捕获对象的快照/修订。它类似于修订控制如何在basecamp中用于Writeboards。是否有任何宝石可以自动执行此功能或RoR中的一些开源项目,我们可以将其用作参考。干杯。
答案 0 :(得分:4)
acts_as_versioned gem可能就是你要找的东西 - http://github.com/technoweenie/acts_as_versioned
RDoc的工作原理示例:
page = Page.create(:title => 'hello world!')
page.version # => 1
page.title = 'hello world'
page.save
page.version # => 2
page.versions.size # => 2
page.revert_to(1) # using version number
page.title # => 'hello world!'
page.revert_to(page.versions.last) # using versioned instance
page.title # => 'hello world'
page.versions.earliest # efficient query to find the first version
page.versions.latest # efficient query to find the most recently created version
答案 1 :(得分:1)
我们使用名为acts as versioned的gem来处理我们模型的多个版本。它可以在github上找到。