[英]Creating a grouped text log of changed model attributes
我最近開始研究Ruby on Rails,並建立了一個基本系統來掃描解析和XML數據源,並將元素存儲在MySQL數據庫中。
我打算以固定的間隔將腳本作為rake任務運行,因此希望跟蹤添加和更新,將新的或更改的值輸出到文本文件。
我最初看過使用before_save
來將self.changes
寫入文件,但是當我從兩個不同的頁面檢索數據並希望對日志輸出進行分組時,會產生復雜性,例如,請注意,每個定價行都是一個不同的記錄在同一表中,忽略變量名,這些都是示例。
Item GUID
- Price US: #{old price} to #{new price}
- Price UK: #{old price} to #{new price}
我當前要實現的解決方案是將logged
列添加到表中,如果數據發生更改,我可以將其設置為changed
,如果已添加記錄,則設置為new
,並在查詢中使用它來查找記錄在其中的記錄不是NULL,並按GUID
它們分組。 但是,由於將在保存對象后執行此操作,因此我不了解過去的值。
我可以采用其他方法來實現這樣的目標嗎?
是的,有更好的方法可以做到這一點。 看一下這些選項:
audited
寶石: https : //github.com/collectiveidea/audited paper_trail
寶石: https : //github.com/airblade/paper_trail espinita
gem: https : //github.com/continuum/espinita
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.