From the Documentation:
The capture method extracts part of a template as a string object. You can then use this object anywhere in your templates, layout, or helpers.
The capture method can be used in ERB templates…
<% @greeting = capture do %>
Welcome to my shiny new web page! The date and time is
<%= Time.now %>
<% end %>
…and Builder (RXML) templates.
@timestamp = capture do
"The current timestamp is #{Time.now}."
end
You can then use that variable anywhere else. For example:
<html>
<head><title><%= @greeting %></title></head>
<body>
<b><%= @greeting %></b>
</body>
</html>
The return of capture is the string generated by the block. For Example:
@greeting # => "Welcome to my shiny new web page! The date and time is 2018-09-06 11:09:16 -0500"
But why would I need it? The use case above, seems super contrived?
Would be interested in people’s thoughts?