Rails:如何在获得批准前保留不同的 new/updated 记录?

Rails: How do I keep different new/updated records before they're approved?

我现在正在处理非标准(至少对我而言)问题。我要创建一个系统,任何用户个人资料更改(或帐户创建)都将被批准及其子记录。

例如 -

  1. 用户是 crested/changes 某事 >>
  2. 状态更改为"Review" >>
  3. 尚未应用更改 >>
  4. 管理员评论内容 >>
  5. 同意 >>
  6. 已应用更改。

当子对象是 created/updated - 我们得到所有相同的过程。

我在考虑不同的想法(如在 序列化 哈希中存储更改,使用带有 paper_trail 的版本),但我想出的一切都非常混乱。

只是想知道是否有人做过类似的事情 - 让这个工作最干净的方法是什么?

我将使用镜像 table 'UsersChanges' 与 'User' 具有 1 对 1 关系和相同的 ID。

如果任何用户与 'UsersChanges' 有关系,您就知道该用户有更改要提交(只需要计数)。

如果您想知道他们的变化,您必须通过与另一个相同的 ID 查看 table ('UsersChanges')。

当更改获得批准后,您只需复制数据并删除 'UsersChanges' 行。

对数据使用散列可能更复杂,您必须验证您的散列,并且您将使用“magical strings”来创建模型。

希望对您有所帮助