def execute result = false ActiveRecord::Base.transaction do # なんか処理 raise ActiveRecord::Rollback # <= ここで例外(ActiveRecord::Rollback)は # いろいろ処理 result = true end result # <= ここ通る end def execute result = false ActiveRecord::Base.transaction do # なんか処理 hoge.save! # <= ここで例外(ActiveRecord::RecordInvalid)は foo.bar() # <= ここで例外(Custom::Error)も # いろいろ処理 result = true end result # <= ここ通らない rescue Custom: