質問編集履歴
1
fix
    
        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`だけ例外って理解しておけばいいのかな
         
     |