【问题标题】:Updating Models with Approval requirement更新具有批准要求的模型
【发布时间】:2013-01-10 13:26:03
【问题描述】:

RoR 3

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

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

  1. 用户修改了一些数据,数据发送审批
  2. 用户仍然可以看到旧数据。
  3. 版主批准更改。
  4. 用户看到新数据

我目前的想法是将它分成两个模型。

  1. 用户模型
  2. 个人资料模型

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

其他想法是

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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 model-view-controller


    【解决方案1】:

    当前的想法肯定会奏效。不过要考虑的事情:

    如果用户进行了 2 次或更多更改而前一个更改尚未获得批准,会发生什么情况?他可能会更改不同的属性或对先前更改的属性进行另一项更改。系统必须能够将这些更改合并在一起,因为它们会从不同的基础(不同的模型)分支出来。

    也许更好的解决方案是拥有当前的个人资料并等待被批准个人资料 (WTBA)。

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

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多