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

xlaok · 发布于 2016年3月29日 · 最后由 dy1901 回复于 2016年4月11日 · 907 次阅读
2898

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

共收到 5 条回复
2456

你需要提供更多细节:

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

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

9800

类似git?

96

basecamp的编辑text

4938

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

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

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

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