ruby on rails -更新具有批准要求的模型



3

我有一个包含一些详细信息的用户模型,其中很少有可编辑的,但需要批准。

我想知道如下更新模型的最佳实践是什么。

  1. 用户修改部分数据,数据发送审批
  2. 用户仍然可以看到旧的数据。
  3. 主持人批准变更。
  4. 用户看到新数据

我现在的想法是把它分成两个模型。

  1. 用户模型
  2. <
  3. 概要模型/gh>

用户模型包含当前配置文件的ID,当用户更新他的配置文件时,他添加一个新的配置文件模型,当管理员批准相同的配置文件模型时,相关的配置文件模型链接到用户模型。(旧的可能会被销毁)。

其他想法是

  1. 每个属性都有2个属性(但编辑将是最小的)
  2. 由于所有可编辑条目都是字符串,并且仅用于显示,因此实际模型将包含当前值和未经批准的旧值的转义JSON。

当前的想法肯定会奏效。值得考虑的事情:

如果一个用户做了2个或更多的修改,而前一个没有被批准,会发生什么?他可能会更改一个不同的属性,或者对先前更改的属性进行另一个更改。系统必须能够将这些更改合并在一起,因为它们可能来自不同的基础(不同的模型)。

也许一个更好的解决方案是有一个当前配置文件和等待批准配置文件(WTBA)。

  1. 当没有变更需要审批时,用户看到当前配置文件。
  2. 用户进行更改,系统将创建一个WTBA配置文件。
  3. 用户看到WTBA配置文件(没有其他人)。
  4. 用户进行另一个更改,系统将保存更改到WTBA配置文件(不创建新配置文件)。
  5. 版主批准WTBA配置文件,此时WTBA成为当前和,我们回到#1。

相关内容

  • 没有找到相关文章