Is = needed in <%= when using form_for?

I have always assumed that when using form_for in erb one should use
<%= form_for … %>
However having done some tests it appears that it works identically
without the ‘=’ so
<% form_for … %> is ok.

Can anyone explain this? I thought that without the ‘=’ the code
would be run but the result would not be injected into the html. I
appear to be wrong however.

Colin

On Jan 7, 11:39am, Colin L. [email protected] wrote:

I have always assumed that when using form_for in erb one should use
<%= form_for … %>
However having done some tests it appears that it works identically
without the ‘=’ so
<% form_for … %> is ok.

Can anyone explain this? I thought that without the ‘=’ the code
would be run but the result would not be injected into the html. I
appear to be wrong however.

if you use <%= then when erb compiles your template it automatically
appends the result of the expression to its output buffer.
If you use <% then you can still call concat to do that yourself. This
was a bit confusing - in rails 3 you use <%= for form_for and for
similar helpers that do actually insert content right there

Fred

On Friday, January 7, 2011 6:39:17 AM UTC-5, Colin L. wrote:

This is mentioned specifically in the Rails 3 release notes:

On 7 January 2011 12:57, Tim S. [email protected] wrote:

appear to be wrong however.

This is mentioned specifically in the Rails 3 release notes:

Ruby on Rails 3.0 Release Notes — Ruby on Rails Guides

That link says that one should now use <%= form_for. My confusion
(now, at least) is that on rails 3.0.3 I find that it makes absolutely
no difference whether one includes the = or not, which appears to be
contrary to the information in the link.

Colin