10
爲什麼這個事務回滾,如果連一個創建!失敗? 這是在一個控制器,如果這有什麼區別。Rails事務沒有回滾
def process_photos(photos)
ActiveRecord::Base.transaction do
begin
photos.each do |photo|
Photo.create!(creator_user: @user, buyer: @buyer, url: photo['url'])
end
rescue
raise ActiveRecord::Rollback
end
end
end
我明確地發送一些數據與一些不良記錄。好的是創造,壞的不是,但我需要整個事情回滾,即使一個失敗。
這是我的rspec測試(傳遞一張json數組照片),它是遞增的。
expect { post :create, json }.not_to change(Photo, :count)
你的嵌套@ kjs3有點不對勁。特別是'ActiveRecord :: Base.transaction do'似乎沒有匹配的'end'。 – thomasfedb
複製失敗。它是嵌套的權利。固定。 – kjs3
看起來這是一個rspec問題。當我用curl發帖時,交易似乎回滾。 – kjs3