teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

fix

2022/04/01 05:44

投稿

thesnowman
thesnowman

スコア154

title CHANGED
File without changes
body CHANGED
@@ -29,3 +29,13 @@
29
29
  Userのほうは失敗してるんだから、外側のtransactionもROLLBACKするような作りになっていないのがすごく違和感あります。
30
30
 
31
31
  これは仕方ないのでしょうか、みなさんはどのように思いますか?
32
+
33
+ 補足
34
+ -
35
+ 実際に試してみた所、
36
+ `after_save { raise ActiveRecord::Rollback }`
37
+ じゃなくて
38
+ `after_save { raise ActiveRecord::RecordInvalid}`
39
+ `after_save { raise }`
40
+ のように、`ActiveRecord::Rollback `以外をraiseすればちゃんと外側のtransactionもROLLBACKするみたいですね
41
+ なので、`ActiveRecord::Rollback`だけ例外って理解しておけばいいのかな