has_many:autosave => true在保存子项时跳过validation

在Rails 2和Rails 3中,if:autosave => true a has_many association,集合循环通过,并在每个子关联上调用save(:validate => false)。 这是为什么? 我们需要一个before_validation回调来为该子对象运行,但它不会,因为它是一个跳过validation的保存。

这有什么好办法? 跳过validation的目的是什么?

任何帮助将非常感激! 谢谢!

validation确实会运行。 有一个validation阶段和一个保存阶段。 AutoSave尝试同时为这两个模型执行这两个阶段。 因此,在保存父模型后,将validation父模型,然后validation其自动保存子项。 validation通过后,将发生保存阶段,保存父模型并保存子模型(但跳过validation)。 原因是因为validation已经运行。

当我在before_save回调期间尝试在父进程内构建子模型时,我遇到了一个问题。 因此,在validation阶段,相关对象无法进行validation。