I've got a Rails 3 helper which needs to generate elements which might have HTML entities in the attribute values. For example:
content_tag(:input, nil, :type => 'button', :value => 'Redo ↻')
I end up with this: <input type="button" value="Redo ↻" />
but what I want is: <input type="button" value="Redo ↻" />
.
How can I tell Rails not to escape HTML entities in my content tag attributes?
By default rails escapes the content before printing it. You have to explicitly declare the content is safe to ouput:
You can do it using the raw helper, or the string method html_safe:
content_tag(:input, nil, :type => 'button', :value => 'Redo ↻'.html_safe)
or
content_tag(:input, nil, :type => 'button', :value => raw('Redo ↻'))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With