Ruby on rails 如何允许用户创建带有修订的注释?

Ruby on rails 如何允许用户创建带有修订的注释?,ruby-on-rails,Ruby On Rails,我正在从事一个Rails项目,我希望允许用户创建单独的注释,此时这些注释实际上只是文本字段。对于每个注释,用户可以编辑他们以前编写的内容,但旧版本保存在修订表中。我想找出最好的方法来解决这个问题 我最初的想法是建立以下关系: class User < ActiveRecord::Base has_many :notes end class Note < ActiveRecord::Base has_many :note_revisions belongs_to :us

我正在从事一个Rails项目,我希望允许用户创建单独的注释,此时这些注释实际上只是文本字段。对于每个注释,用户可以编辑他们以前编写的内容,但旧版本保存在修订表中。我想找出最好的方法来解决这个问题

我最初的想法是建立以下关系:

class User < ActiveRecord::Base
  has_many  :notes
end

class Note < ActiveRecord::Base
  has_many :note_revisions
  belongs_to :user
end

class NoteRevision < ActiveRecord::Base
  belongs_to :note_revision
end
class用户
注释模型将只包含注释首次创建的时间戳。NoteRevision模型将包含文本,以及每个修订的时间戳。这样,每次进行新修订时,都会在NoteRevision表中创建一个新条目,并通过Note表进行跟踪。希望这是有意义的

首先,这看起来是一个好方法吗?如果是这样的话,我很难弄清楚控制器和视图如何以一种形式显示这些信息。有没有好的教程,或者有没有人看过类似的东西,可以为我指出正确的方向

提前谢谢

我将检查哪个版本将为您处理所有版本控制,并帮助您轻松返回最新版本。在幕后,它做了一些类似于你试图做的事情,但已经被许多人彻底测试和使用。它还受益于积极的开发。

另一个选择是创业板。
Railscasts.com上有一个关于使用它的插曲:

我没有专门使用书面记录,但在java世界中做过类似的事情,我支持这样的动议:如果可能,您应该使用预构建的内容存储库,而不是编写自己的版本控制系统。