当前位置:  开发笔记 > 开发工具 > 正文

使用Rails和ActiveRecord维护记录的编辑历史记录的最佳方法是什么

如何解决《使用Rails和ActiveRecord维护记录的编辑历史记录的最佳方法是什么》经验,为你挑选了2个好方法。

在Rails中维护记录编辑历史的最佳/最干净/最简单的方法是什么?

我正在寻找日志记录 - 谁进行了编辑,何时以及能够回滚到早期版本的记录.

我的猜测是你会在更新或删除时使用ActiveRecord回调,而不是更新/删除记录,你会创建一个新的记录,并有一些标识符来保持相关的"记录"关联,也许是一个字段来区分哪个记录是当前的和版本字段.

我依稀记得看到一些插件,但我现在似乎无法找到它们

(我不知道这个术语吗?)



1> Chirantan..:

acts_as_audited赢得了胜利.你甚至可以使用acts_as_versioned.该插件页的说明了一切.浏览页面上帖子下方的讨论评论.开发人员已发布问题并获得了作者和其他人的积极回应.

我在许多应用程序中使用过这个插件,我发现它非常有用.强烈推荐.

以下是插件页面的预览:

acts_as_audited是一个Active Record插件,用于在审计表中记录对模型的所有修改.它使用多态关联来存储您希望审计的任何模型对象的审计记录.审计日志存储更改所在的模型,"操作"(创建,更新,销毁),更改的序列化哈希以及执行操作的用户(可选).



2> whitehat101..:

这里的答案很好,但需要一些更新.

acts_as_audited已重命名为audited,请参阅https://github.com/collectiveidea/audited.我用它取得了巨大的成功.

paper_trail也可能是有意义的.http://railscasts.com/episodes/255-undo-with-paper-trail恢复版本在audited/acts_as_audited中有点尴尬且没有记录.paper_trail在这方面有更清晰的例子.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有