`ActiveRecord::Rollback` を使う場合は注意が必要。 ```ruby User.transaction do User.create(name: 'foo') User.transaction do User.create(name: 'bar') raise ActiveRecord::Rollback end end ``` このケースだと、`foo` も `bar` も作成される。 ```ruby User.transaction do User.create(name: 'foo') User.transaction(requires_new: true) do User.create(name: 'bar') raise ActiveRecord::Rollback end end ``` `requires_new: true` をつけると、`foo` のみ作成される。 ```ruby User.transaction do User.create!(name: 'foo') User.transaction do  # バリデーションの上限よりも長い名前 User.create!(name: 'longer_than_limit') end end ``` `ActiveRecord::Rollback` 以外は `rescue` されないため、このケースは `ActiveRecord::RecordInvalid` が発生し、`foo` のみ作成される。 📝 これ本当か? 参考: <https://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html#module-ActiveRecord::Transactions::ClassMethods-label-Nested+transactions>