2010-04-27 67 views
1

我正在開發一個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 

的注意模型將只包含在首次創建筆記的時間戳。 NoteRevision模型將包含文本以及每個修訂的時間戳。這樣,每次進行新修訂時,都會在NoteRevision表中創建一個新條目,並通過Note表進行跟蹤。希望這是有道理的!

首先,這看起來是一個很好的方法嗎?如果是這樣,我很難弄清楚控制器和視圖如何以一種形式呈現這些信息。有沒有好的教程,或有人看到任何類似的東西,可以指向正確的方向?

提前致謝!

回答

2

我會找paper trail將處理所有的版本爲你,幫助你輕鬆地返回最新的版本。在幕後,它做了類似於你想要做的事情,但已經被許多人徹底測試和使用。它也受益於積極的發展。

+0

我沒有專門使用過紙質文件,但在java世界做過類似的事情我第二個動作是,如果可能的話,你應該使用預建的內容庫而不是寫您自己的版本控制系統。 – 2010-04-27 19:19:17

+0

啊,非常好。謝謝! – Magicked 2010-04-27 19:39:05

相關問題