title: Implement Rails Helpers Effectively Taking Multiple Blocks
body: <p>So I'd love to be able to write a Rails helper that either takes chunks of of the view as arguments (pretty sure this isn't possible) or changes how helpers inside a chunk operate.  Ideally (but I'm pretty sure it's impossible), I could do something like the following where top_context_builder then executes with proc/block arguments corresponding to both firstcontent and secondcontent (e.g. maybe I want to interleave them in output as firstcontent secondcontent secondcontent firstcontent)</p>
  <pre><code>&lt;%= top_context builder: foo_builder, argone:  %&gt;
     firstcontent
  &lt;% argtwo: %&gt;
     secondcontent
  &lt;% end %&gt;
  </code></pre>
  <p>But what seems more plausible is that maybe I could inject context into the block I'm executing.  So is there any way that top_context could provide the argument to builder to the helpers get_first_context and get_second_context and then somehow get_first_context stores it's block argument in some location setup by top_context so then get_second_context could have access to the builder arg, a proc/block for firstcontent and a proc/block for secondcontent?</p>
  <pre><code>&lt;%= top_context builder: foo_builder do %&gt;
     &lt;%= get_first_context do %&gt;
        firstcontent
     &lt;% end %&gt;
     &lt;%= get_second_context do %&gt;
        secondcontent
     &lt;% end %&gt;
  &lt;% end %&gt;
  </code></pre>
  <p>The question is how I could get the builder arg and firstcontent to get_second_context without polluting globals (e.g so I could use it in a nested fashion).  I'm probably being dumb but would appreciate any thoughts.</p>
  <p>(Yes, I think I could use content_for and save these things to identifiers but if I wanted to use the helper in a nested fashion it seems like that would lead to name collisions).</p>