我有一個奇怪的問題,我找不到合理的解釋。before_validation未被調用?
我正在調查一個錯誤,並將一些日誌記錄到位(通過Rollbar),以便我可以看到某個模型的某些實例的進化。
這裏是我的了:
class Connexion < ActiveRecord::Base
before_validation :save_info_in_rollbar
after_save :save_info_in_rollbar
def save_info_in_rollbar
Rollbar.log("debug", "Connexion save", :connexion_id => self.id, :connexion_details => self.attributes)
end
end
現在我得到的數據載荷翻車防護杆(幾乎2排,每一次接頭是創建/更新)。但奇怪的是:對於某些連接(=>我正在調查的錯誤數據),我根本沒有數據!
我不明白如何創建連接並將其保存到數據庫,並且沒有任何跟蹤before_validation
日誌。 看起來回調沒有被調用,但除非我錯了,它應該是回調順序中的第一個=>什麼能防止它被調用?
編輯>>複製和回覆貼,可能是相關的: 有在其中創建或更新聯接3例,放入系統的案例有:
- .connexions.create()
- connexion.attr =「value」; connexion.save!
- connexion.update_attributes(ATTR: 「值」)
嘗試'Connexion.new(params).valid?'。你會看到什麼? – asiniy
irb(main):022:0> Connexion.new.valid? [滾動條]調度有效負載 [滾動條]詳細信息:https://rollbar.com/instance/uuid? [ROLLBAR]發送有效載荷 =>真 IRB(主):023:0> [ROLLBAR]成功 =>模型是有效的和數據被髮送到ROLLBAR =>所有好 –
BPruvost
也許,'Rollbar.log '當你得到':connexion_id => nil'時什麼都不做?試着在你的'save_info_in_rollbar'方法中放入或提出一些東西 – asiniy