我正在开发一个表单,我希望用户可以选择返回。最终,所有字段都需要完成,我想在将记录标记为“完成”之前合并适当的模型级别字段验证。我可以想到几种方法来做到这一点:
创建两张表,一张用于“草稿”状态的记录,验证规则更宽松(即字段不一定要完整才能保存记录),另一张表用于存储已提交的记录为“完整”,显然具有更严格的验证规则。
仅创建一个表来存储记录,其中包含一个标记为“isComplete”的字段,并根据此值确定要应用哪些验证规则。
我倾向于选项#2,因为它涉及的工作部分更少(在选项#1中,我必须确保当我将记录状态从“草稿”更改为“完成”时,它会从一个表中删除并添加到其他)。问题是我不知道如何在 Rails 中优雅地做到这一点。
最终,我确信这个问题之前已经解决了,我的问题是:在这种情况下,最佳实践是什么?