我的应用程序中有一个名为photos
的模型。任何用户都可以上传照片。最初上传时,我将它们存储在一个名为tempfile
的临时字段中。然后管理员可以审查并批准它们。如果获得批准,approved
字段将为true,照片将上传到s3。照片将保存在file
字段中,tempfile
将被删除。数据库中的submitted
字段将设置为true。如果上传失败,它将被标记在数据库中。如果照片被拒绝,用户可以重新提交。
- 因此,在正常视图中,我需要显示
approved
和非failed uploads
- 如果用户编辑照片,则应为
unapproved
和submit
,直到管理员批准为止 - 在重新提交菜单中,我必须显示
unapproved
、unsubmitted
照片 - 如果用户重新提交,提交字段将设置为true
从外观上看,我必须使用大量的数据库字段,这变得很复杂。有没有办法更好地处理这个问题?保存草稿和单独保存未审核的方式?如何有效地做到这一点?
更新:多亏了@Alex,我发现我可以用状态机做到这一点。有AAM、工作流和政治家。对于这种情况,什么可能是最好的
您考虑过单表继承吗?它将允许您将其拆分为多个类。