How to use an HTML entity in a Rails "content_tag" attribute?
ruby-on-rails, ruby-on-rails-3, view-helpers
Solution
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 ↻'))
Problem
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?