0
我正在爲一個應用程序構建一個wiki系統。設計的本質是有一個文章模型,每篇文章都有許多修訂版。當顯示文章的時候,最新的版本會被提取以獲取所有相關信息。Ruby on Rails:有什麼方法可以爲wiki系統使用嵌套屬性?
這似乎是一個完美的例子,它使用accept_nested_attributes_for,以便編輯文章將代表修訂版接受更改。然而,我似乎無法找到一種方法來保留所有舊版本,並且通過在每次編輯時創建一個新版本進行更改。有什麼辦法可以做到這一點?
對於那些誰喜歡的東西不那麼抽象:
class Article
has_many :revisions
has_one :current_revision, :class_name => "Revision", :order => "created_at DESC"
#contains columns that are not tracked for revisions, such as the article's Url slug
end
class Revision
belongs_to :article
#contains basic columns like wiki article body
end
隨着維斯塔版本,如果我結束了改變版本模型中的列,這是否意味着所有現有的版本都將變得無法使用? – 2010-06-22 21:36:46
對不起,但我不明白你的問題,但我希望我的答案仍然有幫助。 Vestal Versions保留了您的模型版本,每次更新模型Vestal Version都會保存舊版本,因此您可以隨時訪問它。所以他們不會無法使用 – jigfox 2010-06-22 22:24:11
我只是有點擔心版本的脆弱性。如果我要爲表格添加或刪除一列,我想知道保存的版本會發生什麼。 – 2010-06-22 22:38:55