如何更改然后立即从验证回调中保存Rails模型实例?

时间:2011-12-20 04:31:50

标签: ruby-on-rails migration mongoid

我正在使用mongoid,我想一次迁移一个文档。为此,我尝试在after_initialize回调中进行迁移,但是在没有触发相同验证和无限递归的情况下,我似乎无法save()。是否有更好的回调使用,或者我应该关注的另一件事?

2 个答案:

答案 0 :(得分:1)

您是否尝试过传递:validate =>假进入保存?这允许您绕过验证。

根据原始问题,

instance.update_attributes(new_attr_hash)
更新实例后,

将立即保存,但您无法使用update_attributes绕过验证。

答案 1 :(得分:1)

我使用before_save,然后遍历整个集合并在回调之外再次保存它们,而不是像我以前假设你那样初始化它们。