Rails 3 upgraded form validation issue

H All,

I have run into a very interesting issue. On one of my apps, after
upgrading
from 2.3 to 3.0, the form validation started to escape html. Normally
what
should happen when you submit a form and one of the fields fails
validation
that field would get surrounded with a

and
so
on. That seems to be broken in my app and what I get is the correct html
but
it is escaped, so in the browser I see the actual html code instead of
the
input control. For instance, this excerpt from the html source:
<span class="fieldWithErrors"><label for="customer_first_name">First name</label></span>
&lt;span class=&quot;fieldWithErrors&quot;&gt;&lt;input

id="customer_first_name"
name="customer[first_name]" size="30"
type="text" value="" /></span>

I verified that on a newly created app everything works fine so this
seems
to be a configuration issues after upgrading from 2.3.9 to 3.0.

Any help will be greatly appreciated.

Raf

Rafael S. wrote in post #947092:

H All,

I have run into a very interesting issue. On one of my apps, after
upgrading
from 2.3 to 3.0, the form validation started to escape html. Normally
what
should happen when you submit a form and one of the fields fails
validation
that field would get surrounded with a

and
so
on. That seems to be broken in my app and what I get is the correct html
but
it is escaped, so in the browser I see the actual html code instead of
the
input control. For instance, this excerpt from the html source:
<span class="fieldWithErrors"><label for="customer_first_name">First name</label></span>
&lt;span class=&quot;fieldWithErrors&quot;&gt;&lt;input

id="customer_first_name"
name="customer[first_name]" size="30"
type="text" value="" /></span>

I verified that on a newly created app everything works fine so this
seems
to be a configuration issues after upgrading from 2.3.9 to 3.0.

Any help will be greatly appreciated.

Raf

Raf, I’m having the exact same problem. Has this problem been resolved?
What was the solution?

Thank you very much.

LBfromLA

On 9 October 2010 01:18, Rafael S. [email protected] wrote:

&lt;span class=&quot;fieldWithErrors&quot;&gt;&lt;label

I verified that on a newly created app everything works fine so this seems
to be a configuration issues after upgrading from 2.3.9 to 3.0.
Any help will be greatlyappreciated.

Strings are HTML-escaped by default in Rails 3, so if you have a
helper that generates HTML then you need to explicitly tell Rails that
it is ‘HTML-safe’.

Are you using a helper or perhaps a plugin to generate your form HTML?
If so, it could be that it needs updating to mark HTML as HTML-safe.
(This would also explain why a newly-generated Rails 3 app which
doesn’t have that helper/plugin is generating this HTML correctly.)

Chris