On Sep 10, 2005, at 9:39 AM, James Edward Gray II wrote:
> I personally think it's better that people confused by this aspect  
> ask here and get corrected, than it is to break puts() for them.

IMHO, they way it behaves currently is what is broken.

My personal mental model says that #puts is for outputting content  
that is the desired output of your program (unlike #warn). An ERB  
template is a parametrized program in its own right, and its output  
is the resulting string. If you want debug output, use #warn.

That's how I look at it, anyhow. Do others actually think of an ERB  
template as an enormous HEREDOC string in another file that is going  
to be included in your program, and ERB as an uber-powerful gsub to  
run on that string?