6

好吧,我已经看到了一些插件来创建版本表来跟踪特定模型的修改,但不能像 quora 节目那样轻松完成

在quora上更改主题照片

到目前为止,我有一张这样的桌子:

  • ID
  • item_type:指定模型修订所指的内容:“主题”
  • item_id
  • 事件:如果是:“已编辑、添加、还原、删除”
  • who : 谁触发了事件
  • column:值已更改的“主题”中的哪一列。“主题。photo_url
  • :新值:“ http://s3.amazonaws.../pic.png
  • 旧值:“” http://s3.amazonaws.../oldpic.png
  • revision_rel : 指向过去的修订
  • 时间戳

在此处输入图像描述

有人可以给我一些关于这个设计的帮助和指导吗?我担心性能、错误的列、缺少的列等

id  | item_type | item_id |  event  |    who    | column |   new      |    old     | revision_rel |  date
________________________________________________________________________________________________________
1   |   Topic   |    2    |  edit   |   Luccas  |  photo | pic.png    | oldpic.png |    null      |  m:d:y
2   |   Topic   |    2    |  revert |   Chris   |  photo | oldpic.png | pic.png    |      1       |  m:d:y
4

1 回答 1

1

有一些可用的宝石已经可以满足您的需求。你有没有调查过:

看看现有的宝石: https ://www.ruby-toolbox.com/categories/Active_Record_Versioning

我正在使用经过审计的(以前是acts_as_audited)来处理非常相似的事情: https ://github.com/collectiveidea/audited

于 2012-06-27T17:14:17.790 回答