6

使用:Rails 3.2.11 & Ruby 1.8.7

我在尝试制作label_tag输出 html 时遇到了一些严重的问题。基本上可以归结为:

<%= label_tag "This will <strong>not</strong> work!" %>

我努力了:

<%= raw label_tag "This will <strong>not</strong> work!" %>
<%= label_tag raw "This will <strong>not</strong> work!" %>
<%= label_tag "This will <strong>not</strong> work!".html_safe %>
<%= (label_tag "This will <strong>not</strong> work!").html_safe %>

我已经安装了 gem 'rails_xss'。

没有任何作用!

尽管我可以找到很多与转义 html 相关的问题,其中人们遇到 raw 和 html_safe 无法正常工作的问题,但与 label_tag 没有任何关系。我不能使用 f.label 来解决这个问题。

这曾经在同一个应用程序上工作,但经过几次更新(Rails 3.0.3 -> 3.2.11 是主要的)它停止工作。我没有注意到这是什么时候发生的,所以我不确定是什么导致了问题。

你能复制吗?你有解决方案吗?

4

1 回答 1

8

问题是第一个参数label_tag应该是标签名称。如果您希望在标签内显示自定义内容,则必须是第二个参数。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-label_tag

尝试这个:

<%= label_tag "my label name", raw("This will <strong>not</strong> work!") %>
于 2013-04-19T06:17:54.483 回答