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