2014-07-16 55 views
0

我需要您的幫助再次設計天才!存儲歷史和更新更新的最佳方法

我正在研究一個應用程序,需要存儲更改並經常回想以及檢測它們何時從客戶的文件更改。最簡單的例子將是一個人的名字。

所以我有一個會員模型和附加(多態)是身份。我需要存儲對身份的所有更改,以便我可以回顧並查看某人在此時或當時爲此文件傳輸命名的內容。

我有一個has_many從成員到當前身份的關係。

我將收到帶有更新信息的文件。是否有一種很好的方法可以將信息與現有信息進行比較,然後在出現不同情況時添加新記錄?或者更好的是,讓它回報什麼是不同的,然後我可以選擇更新或不更新?

每次我開始編程時,它變得很長,每次都很困惑,我希望有一個更好的方法來做到這一點,所以我不需要重新創建輪子,我的輪子通常是平坦的,凹下去;-)

回答

3

我認爲你可以使用paper_trail爲此。它會自動檢測保存模型時是否發生了變化,並在另一個表中創建模型的新「版本」。

+0

我看了一些寶石,有點緊張。我擔心在寶石中可能會發現一個錯誤,或者它可能會消失,然後花費數月的時間,我會回到原點。雖然可能是我的一個愚蠢的關注? – MechDog

+0

該寶石正在積極維護,所以我不認爲你應該擔心它。我在過去幾年中經常使用它,唯一的問題是將它與載波相集成。 – rabusmar