Let's explore an issue with two possible solutions:
<%= yield :title %> <%# 1. preferred %>
<%= @content_for_title %> <%# 2. not preferred (perhaps even deprecated?), but working %>
<%= content_for :title %> <%# 3. errors out %>
Please note that no. 3 is mentioned in capture_helper.rb:122, so the following patch fixes the content_for method to allow the case. If this is a typo, then we can consider other ways of making things consistent (better docs, for example).
And what about this?
<h1><%= yield :title %></h1>
<%= content_for :title, @title %>
@title is sent to where :title is yielded, but because the ERB tag uses an '=', it's also rendered again at this point. This could be desired behavior, but this could also be confusing to the user who uses <%= content_tag :span, 'content' %> and <% content_tag :span do %>content<% end %> (the case is admittedly quite different, and _IF_ the doubling is desired, it requires a brief explanation in the docs).
So, what's the solution? And docs patch or the patch attached?
I can provide tests if the patched solution is preferred.