如何在Rails“content_tag”属性中使用HTML实体?

时间:2013-07-25 23:02:37

标签: ruby-on-rails ruby-on-rails-3 view-helpers

我有一个Rails 3帮助器,它需要生成可能在属性值中包含HTML实体的元素。例如:

content_tag(:input, nil, :type => 'button', :value => 'Redo ↻')

我最终得到了这个:<input type="button" value="Redo &#x21bb;" />
但我想要的是:<input type="button" value="Redo ↻" />

如何告诉Rails不要在我的内容标记属性中转义HTML实体?

1 个答案:

答案 0 :(得分:11)

默认情况下,rails会在打印之前转义内容。您必须明确声明内容对输出是安全的:

您可以使用原始帮助器或字符串方法html_safe:

来执行此操作
content_tag(:input, nil, :type => 'button', :value => 'Redo &#x21bb;'.html_safe)

content_tag(:input, nil, :type => 'button', :value => raw('Redo &#x21bb;'))