Como a mágica do rendimento funciona no ActionView?

Eu fuiolhando para como o content_for funciona e observou oblock.call nocapture_erb_with_buffer método. Aparentemente, ele escreve magicamente na variável de buffer que é removida. No entanto, acredito que isso esteja obsoleto e você pode simplesmente chamar<%=yield :tag%> agora. Como é que isso funciona? Se eu chamar o rendimento de um modelo de ERB, para onde ele leva?

Um exemplo simples de código para ilustrar o ponto seria muito apreciado.

questionAnswers(3)

yourAnswerToTheQuestion