救援/加薪條款存在我有一個簡單的異常處理程序如下爲什麼是事務回滾,如果它在Rails的
begin
# code
rescue Exception
# Write to database
raise
end
的write to database
回滾如果raise
被調用。我正在嘗試做什麼?
編輯
寫入數據庫執行以下操作
Question.create(
notification_id: 1,
text: 'test'
)
很簡單。
它可能不應該......救援塊裏面有什麼? –
嘗試從控制檯'Question.create!(notification_id:1,text:'test')創建它'注意'!'(砰)它會給你回滾的原因..大多有驗證錯誤。 –
我想我知道問題是什麼。如果我錯了,請告訴我。 'begin'和'recsue'之間的任何內容都將被回滾。我在救援中呼叫'raise'。 Rail會自行處理異常,當它發生時,我的整個異常存在於rails提供的'begin'和'rescue'塊之間。因此Rails將我的寫回滾到數據庫是有道理的。 – RamJet