我有一個類有很多關聯模型的問題。在我的應用程序的一頁上,我列出了所有當前問題的摘要,以及來自關聯記錄的各種信息。最終這是一個值的散列,然後我只是打印出一個csv風格的行(我將這稱爲'行散列'從hereon)追蹤班級實例及其關聯的變化 - 想法?
我現在有一個要求,只顯示更改問題(或其相關數據)。我目前正在考慮這樣做的最佳方式。這裏有一些想法,我到目前爲止,我會歡迎任何反饋,想法,建議等。
1)方法1 - acts_as_audited 這是我第一次想到,因爲我以前在其他應用程序中使用過。帶有aaa的圖標只是它跟蹤記錄數據的變化(即不關心關聯是否改變)。所以,我也可以審計所有相關記錄,但隨後試圖將通過捆綁不同審計記錄而發生的變化拼湊在一起,聽起來像是一場噩夢。
2)將舊的和新的散列保存到序列化字段中:即 - 當有人轉到問題/編輯頁面時,我計算當前行散列並將其保存在問題表中的序列化字段「old_data」中。然後,他們保存問題後,我計算新的當前行散列並將其保存到問題表中的序列化字段「new_data」。此外,我比較兩個序列化的散列並將差異保存到另一個序列化的散列字段「更改」中。現在做我的報告,我只是尋找在過去x天更新的問題,並輸出他們的變化數據。
3)製作視圖 - 我製作了一個視圖,它對應於我想要輸出的數據(即合併所有數據,我拉入我的報告)。然後我跟蹤視圖的變化 - 不知何故。我不確定我會如何做到這一點。
我現在傾向於選擇2。
其他想法/評論?感謝任何建議 - 最大。