2011-02-07 40 views
0

在我的記錄管理應用程序中實現版本控制的方式是什麼?RoR:在我的應用程序中創建版本控制功能?

我的系統允許用戶管理記錄我想讓他們查看歷史版本的記錄。我知道的,而不是更新記錄我現在將創建記錄和相關模型每一次的新實例用戶「更新」的記錄(每個記錄has_many分類優勢)。我如何確保不同版本的記錄都鏈接在一起(即新創建的記錄將作爲記錄A的新版本相關聯,因此當我點擊「顯示記錄A的所有版本的列表」 )。

這是所有的理論思考,因爲我還沒有開始編碼,如果我錯過了任何我應該考慮的事情,請讓我知道。

謝謝

回答

1

創建記錄的新實例every-用戶更新它的時間,如上所述有一個輔助ID將同一記錄的所有不同版本組合在一起,然後在控制器中運行一個檢查(使用某種隱藏值)以查看是否要保存記錄或創建一個新的。

然後,您可以通過查找具有唯一的secondary_id的最近更新/創建的記錄來檢索每條記錄的最新版本。

0

一個很好的出發點可能是vestal versions寶石,即保留修改的記錄

0

這裏有兩個我的見解的歷史:

1日簡單:

你用更高的ID保存記錄,當你閱讀它時,你需要更高的ID。如果你想知道過去不要過濾id。

2日(從SAP的部分):

你的記錄有2場的補充,即開始時間,停止時間。這是記錄開始進入行動的時間,並停止行動。插入新記錄,更新最後一個的stopTime,現在將其作爲新時間的startTime,並將新世界的stopTime作爲世界的末端

+0

好的,所以如果我有記錄A,B和C.我該如何鏈接A的所有版本?因爲用戶可能會編輯記錄名稱,但它在技術上仍然只是先前記錄A的較新版本。是否只有一個secondary_ID,它將所有版本的A關聯在一起,其中正在更新的記錄的ID被記錄並填充,在新創建(更新)的記錄? – 2011-02-07 03:03:55

相關問題