使用mongoid保存/销毁文档时忽略验证

时间:2013-08-30 14:39:16

标签: ruby-on-rails ruby mongodb validation mongoid

我有一个mongoid的问题。我在某些字段上进行了验证,称为flickr_id。问题是,Mongo不支持事务,有时候,尽管存在validates :flickr_id, :uniqueness => true,但数据库中存在重复。如何从Rails应用程序中删除它们?因为任何时候我想用这些不唯一的对象做某事,我得到一个无效的错误。在这种情况下如何忽略验证?

2 个答案:

答案 0 :(得分:0)

我正在按预期使用validates_uniqueness_of作品。假设您想要清理数据库,您可以注释该行并通过控制台删除重复的文档。

如果不是这种情况,您可以在验证中添加on,因此验证仅在创建/更新时运行,而不是在销毁时运行:

  

:on仅在指定时运行,支持:create和:update。

更多信息here

答案 1 :(得分:0)

尝试使用object.delete代替object.destroy