我的模型有三种特定状态:draft
,submitted
和published
。
这些州中的每一个都有特定的验证规则。例如。只有submitted
和published
才需要模型的名称。有点像:
validates :name, :presence => true, :unless => :draft?
当屏幕上显示draft
模型时,我想要显示哪些损坏的验证规则必须修复,然后才能转换为submitted
。当模型位于draft
时,验证表明它是有效的(这是真的),但我仍然希望将错误显示为submitted
。
我真的不知道应该如何解决这个问题。
答案 0 :(得分:1)
我为我的一个项目做了类似的事情。在我的情况下,我有一个虚拟属性,我可以设置为覆盖状态。然后在我的“草案”版本中?方法我检查虚拟属性,如果属性“do_full_validation”设置为true,那么我以允许执行验证的方式响应。