我有一个Rails 3帮助器,它需要生成可能在属性值中包含HTML实体的元素。例如:
content_tag(:input, nil, :type => 'button', :value => 'Redo ↻')
我最终得到了这个:<input type="button" value="Redo ↻" />
但我想要的是:<input type="button" value="Redo ↻" />
。
如何告诉Rails不要在我的内容标记属性中转义HTML实体?
答案 0 :(得分:11)
默认情况下,rails会在打印之前转义内容。您必须明确声明内容对输出是安全的:
您可以使用原始帮助器或字符串方法html_safe:
来执行此操作content_tag(:input, nil, :type => 'button', :value => 'Redo ↻'.html_safe)
或
content_tag(:input, nil, :type => 'button', :value => raw('Redo ↻'))