我有一个使用Mongoid :: Versioning设置的Rails模型。Mongoid ::版本控制 - 删除一个版本
class Post
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Versioning
field :name, type: String
end
我想删除特定的旧版本。例如。
post = Post.create name: 'A'
post.update_attributes name: 'B'
post.update_attributes name: 'C'
post.version #=> 3
post.versions.count #=> 2
first_version = post.versions.first #=> #<Post _id: , created_at: _, updated_at: _, version: 2, name: "B">
我想删除first_version
,但是当我尝试将其删除..
first_version.delete
post.versions.count #=> 1
post.reload
post.versions.count #=> 0
..所有版本中被删除。
我试过用destroy
来代替,试着运行一个块里面的代码传到post.versionless
,没有用。我该怎么办?
UPDATE: 我已经得到它与Mongoid::Paranoia
一起工作。但是,如果能够灵活使用Mongoid::Paranoia
,那就太好了。
您应该包括您所使用的Mongoid的版本。 FWIW Mongoid :: Versioning已被弃用,并将在4.0.0 – CubaLibre 2014-11-07 10:29:00
Mongoid 4中被删除,但我正在通过mongoid版本控制gem(它带回已删除的功能)使用Versioning。 – Vighnesh 2014-11-17 20:18:49