0

我想从像'30 Meters2'这样的助手输出一个字符串(但带有上标2)。

上标 2 的 HTML 实体是 ² 所以我认为这样的事情会起作用:

"30 Meters " + raw("²")

但它不起作用。

我怎样才能做到这一点?

这是整个方法:

  def area_conversion(feet, project)
    if project.metric
      "#{(feet * 0.0929).round} Meters" + raw("²")
    else
      "#{feet} sq. ft. "
    end
  end

使用 html_safe 似乎也不起作用:

  def area_conversion(feet, project)
    if project.metric
      "#{(feet * 0.0929).round} Meters" + "²".html_safe
    else
      "#{feet} sq. ft. "
    end
  end
4

1 回答 1

3

我认为您需要将整个字符串声明为html_safe因为与不安全字符串合并的安全字符串再次变得不安全。在您的情况下,它应该被保存,因为字符串乘以浮点数是空的,所以没有人不能在这里将危险代码放入您的字符串中。所以这:

"#{(feet * 0.0929).round} Meters²".html_safe

应该没事。

于 2012-04-25T19:28:49.757 回答