Ruby/Rails-有没有一种简单的方法可以使硬编码的HTML符号HTML_safe



在我的视图中,我想在链接中显示一些直角双引号。

在Rails3之前,这是有效的:

<%= link_to "&raquo; #{@category.name}", some_path %>

现在,如果我想将&raquo;指定为html_safe,但不指定链接的其余文本,该怎么办?

换句话说,我不想这样做:

<%= link_to "&raquo; #{@category.name}".html_safe, some_path %>我不希望@category.name被视为html_safe。

这产生了所需的结果:

<%= link_to "&raquo;".html_safe + " #{@category.name}", some_path %>

然而,如果我这样做:

<%= link_to "#{@category.name}" + "&raquo;".html_safe, some_path %>

角度引号的输出不被视为安全。我在页面上看到的是&raquo;,而不是«。

为什么?

我尝试将"&raquo;".html_safe提取到helper方法中,得到了相同的结果。

有没有一种方法可以在Rails3中轻松地将硬编码文本/符号指定为HMTL安全?

谢谢。

在这种情况下,我经常明确地避开不安全的部分:

"&raquo; #{h @category.name}".html_safe

您需要确保整个字符串是html_safe。。。

我建议试试这个:

   "&raquo; #{h @cagegory.name}".html_safe

相关内容

最新更新