Rails 实现历史记录,redo undo,有没有最佳实践?

xlaok · 2016年03月29日 · 最后由 dy1901 回复于 2016年04月11日 · 2166 次阅读

功能类似于 word 的 CTRL-z 功能。 但这个页面可能有多人修改,甚至同一个账户也有数人同时登陆操作。求教!

你需要提供更多细节:

  1. 页面包含哪些内容,是数据还是样式?
  2. 是否需要区分多个账户或者登录 session 的修改的记录?

#1 楼 @zlx_star 是回滚数据 需要区分多个账户或者 session 的修改记录

类似 git?

basecamp 的编辑 text

简单点可以以行做为最小单位来保存,记录行的初始状态和最后编辑结果

多个行操作对应一次操作动作(实现复制粘贴多行的 redo 需求),前进和后退的操作就转换成为了每个操作动作对应行历史的批量操作

如果所有结果只能存在内存里,需要借限制保存的行数或操作动作数来限制总内存使用。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号