mongoid:重置模型如何变化

时间:2014-02-11 09:49:09

标签: ruby-on-rails mongoid

我知道,那个mongoid已经重置了归档方法:

person = Person.first
person.name = "Alan Garner"

# Reset the changed name back to the original
person.reset_name!

但是我的模型中有很多字段,在任何给定的点上,某些字段可能会变得无效。 1.如何重置模型中的无效字段? 2.如何将所有模型重置为初始状态?

2 个答案:

答案 0 :(得分:0)

你可以试试:

 person = Person.first

 #for invalid
 person.errors.each do |field, message|
   method_name = "reset_#{field}!"
   person.send(method_name)
 end

 #for all
 person.attributes.each do |field, value|
   method_name = "reset_#{field}!"
   person.send(method_name)
 end

答案 1 :(得分:0)

您也可以这样做以重置所有字段:

 person.reload

它更简单,但命中数据库。