Rails中的模型版本控制

时间:2010-09-23 13:07:48

标签: ruby-on-rails ruby-on-rails-3

我是Rails / Ruby的新手。我正在开发一个项目,我们希望在某些操作发生时捕获对象的快照/修订。它类似于修订控制如何在basecamp中用于Writeboards。是否有任何宝石可以自动执行此功能或RoR中的一些开源项目,我们可以将其用作参考。干杯。

2 个答案:

答案 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上找到。