Por que o Rails ignora uma reversão em uma transação aninhada (pseudo)?

De acordo com os documentosActiveRecord :: Transactions :: ClassMethods, uma transação aninhada não nova ignorará uma reversão. Dos documentos:

User.transaction do
  User.create(username: 'Kotori')
  User.transaction do
    User.create(username: 'Nemu')
    raise ActiveRecord::Rollback
  end
end

oraise ActiveRecord::Rollback é ignorado porque está em uma transação filha (ou melhor, ainda está dentro da transação pai e não na sua). Não entendo por que a chamada de reversão seria ignorada por ambos? Percebo que, como a transação 'filho' não é realmente uma transação, ela não reverteria o bloco 'Nemu', mas por que não aciona uma reversão para o pai? A transação filho oculta a reversão de alguma forma?

Em outras palavras, por que parece que não há como reverter uma transação pai de dentro de um filho aninhado?

questionAnswers(2)

yourAnswerToTheQuestion