2011-03-21 42 views
2

我想弄清別人寫的代碼中的東西。有兩個模型,簡單的has_many關係(A-> B)。Rails 3.0.x - 爲什麼其他模型正在更新?

現在的問題是,在保存「B」模型的同時,「A」模型在數據庫中更新。現在,沒有任何類型的回調,沒有特殊的關係條件(:自動保存等),也沒有代碼中的觀察者。

問題是,還有什麼可以定義這種行爲的其他事情呢?

更新:我試圖調試保存過程來跟蹤任何事情,但是我被調用內部active_record方法的次數所壓倒,所以這種方法變得毫無用處。

獎勵問題:如何轉儲當前的模型回調(如果它們是以某種方式添加的,可以抵抗我的技巧)。

+1

你可以發佈放在'log/development.log'中的相關SQL嗎?目前尚不清楚這裏正在更新什麼。 – tadman 2011-03-21 14:51:14

回答

0

事實證明,這是非常複雜的內部應用程序錯誤與馬沙林。在從緩存中獲取的結果記錄中被標記爲未保留,這迫使ActiveRecord在保存相關對象時創建重複記錄。

1

它可能有:touch => true。該自動更新關聯。

+0

has_many with:dependent =>:destroy,belongs_to沒有任何東西 – mdrozdziel 2011-03-21 14:49:11

相關問題